语言结构
最近更新时间: 2024-10-17 17:10:00
分布式实例支持所有MySQL使用的文字格式,包括如下:
String Literals
Numeric Literals
Date and Time Literals
Hexadecimal Literals
Bit-Value Literals
Boolean Literals
NULL Values
String Literals格式
String Literals 是一个 bytes 或者 characters 的序列,两端被单引号 ' 或者双引号 " 包围,目前TDSQL不支持ANSI_QUOTES SQL MODE,双引号 " 包围的始终认为是String Literals,而不是Identifier。
不支持 character set introducer格式,即:[charsetname]'string' [COLLATE collation_name]格式。
支持如下转义字符:
\0: ASCII NUL (X’00’) 字符
\‘: 单引号
\“: 双引号
\b: 退格符号
\n: 换行符
\r: 回车符
\t: tab 符(制表符)
\z: ASCII 26 (Ctrl + Z)
: 反斜杠 \
%: %
_: _
Numeric Literals格式
数值字面值包括Integer类型 、 Decimal 类型、浮点数字面值。
Integer 可以包括“ . ”作为小数点分隔,数字前加字符“ -” 、“ +” 来表示正数或者负数。
精确数值字面值可以表示多种格式,如格式:1, .2, 3.4, -5, -6.78, +9.10。
科学记数法,如格式:1.2E3, 1.2E-3, -1.2E3, -1.2E-3。
Date and Time Literals格式
Date支持如下格式:
'YYYY-MM-DD' or 'YY-MM-DD' 'YYYYMMDD' or 'YYMMDD' YYYYMMDD or YYMMDD
例如:'2012-12-31', '2012/12/31', '2012^12^31', '2012@12@31' '20070523', '070523'
Datetime、Timestamp支持如下格式:
'YYYY-MM-DD HH:MM:SS' or 'YY-MM-DD HH:MM:SS' 'YYYYMMDDHHMMSS' or 'YYMMDDHHMMSS'
YYYYMMDDHHMMSS or YYMMDDHHMMSS
例如:'2012-12-31 11:30:45', '2012^12^31 11+30+45', '2012/12/31 113045', '2012@12@31 11^30^45',19830905132800
Hexadecimal Literals格式
Hexadecimal Literals支持的格式如下:
X'01AF' X'01af' x'01AF' x'01af' 0x01AF 0x01af
Bit-Value Literals格式
Bit-Value Literals支持的格式如下:
b'01' B'01' 0b01
Boolean Literals格式
常量 True=1 和 False =0,其不区分大小写。
mysql> SELECT TRUE, true, FALSE, false;
+------+------+-------+-------+
| TRUE | TRUE | FALSE | FALSE |
+------+------+-------+-------+
| 1 | 1 | 0 | 0 |
+------+------+-------+-------+
1 row in set (0.03 sec)
NULL Values
NULL 代表数据为空,不区分大小写,与命令 \N(不区分大小写) 同义。
注意:
NULL 跟 0 的意义不一样,跟空字符串 '' 的意义也不一样。