更新时间:2024-11-11 GMT+08:00
分享

字符串函数

表1 字符串函数列表

序号

MySQL数据库

GaussDB数据库

差异

1

ASCII()

支持。

-

2

BIT_LENGTH()

支持。

-

3

CHAR_LENGTH()

支持,有差异。

GaussDB此函数如果数据库字符集是SQL_ASCII,CHAR_LENGTH()会返回字节数而非字符数。

4

CHARACTER_LENGTH()

支持,有差异。

GaussDB此函数如果数据库字符集是SQL_ASCII,CHARACTER_LENGTH()会返回字节数而非字符数。

5

CONCAT()

支持。

当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。

6

CONCAT_WS()

支持。

当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。

7

HEX()

支持。

-

8

LENGTH()

支持。

-

9

LPAD()

支持,有差异。

  • MySQL默认最大填充长度为1398101,GaussDB默认最大长度为1048576。在不同字符集下,最大填充长度会有差异,例如字符集为'GBK'时,GaussDB默认最大长度为2097152。
  • 如果数据库字符集是SQL_ASCII,可能产生未预期的结果。
  • 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。

10

REPEAT()

支持。

当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。

11

REPLACE()

支持。

当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。

12

RPAD()

支持,有差异。

  • MySQL默认最大填充长度为1398101,GaussDB默认最大长度为1048576。在不同字符集下,最大填充长度会有差异,例如字符集为'GBK'时,GaussDB默认最大长度为2097152。
  • 如果数据库字符集是SQL_ASCII,可能产生未预期的结果。
  • 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。

13

SPACE()

支持。

-

14

STRCMP()

支持,有差异。

如果数据库字符集是SQL_ASCII,可能产生未预期的结果。

15

FIND_IN_SET()

支持,有差异。

当指定数据库使用的字符编码是SQL_ASCII时,服务器把字节值0~127根据ASCII标准解释,而字节值128~255则当作无法解析的字符;如果该函数的输入输出包含了任何非ASCII数据,数据库将无法帮助你转换或者校验非ASCII字符。

当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。

16

LCASE()

17

LEFT()

18

LOWER()

19

LTRIM()

20

REVERSE()

21

RIGHT()

22

RTRIM()

23

SUBSTR()

24

SUBSTRING()

25

SUBSTRING_INDEX()

26

TRIM()

27

UCASE()

28

UPPER()

29

UNHEX()

支持。

MySQL的返回值类型为BINARY、VARBINARY、BLOB、MEDIUMBLOB或LONGBLOB;GaussDB返回值类型固定为LONGBLOB。

30

FIELD()

支持。

-

31

FORMAT()

支持。

-

相关文档