语言结构

最近更新时间: 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 的意义不一样,跟空字符串 '' 的意义也不一样。