字符串函数
| MySQL数据库 | GaussDB数据库 | 差异 |
|---|---|---|
| ASCII() | 支持 | - |
| BIT_LENGTH() | 支持 | - |
| CHAR_LENGTH() | 支持,存在差异 | GaussDB此函数如果数据库字符集是SQL_ASCII,CHAR_LENGTH()会返回字节数而非字符数。 |
| CHARACTER_LENGTH() | 支持,存在差异 | GaussDB此函数如果数据库字符集是SQL_ASCII,CHARACTER_LENGTH()会返回字节数而非字符数。 |
| CONCAT() | 支持,存在差异 | 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。 |
| CONCAT_WS() | 支持,存在差异 | 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。 |
| HEX() | 支持 | - |
| LENGTH() | 支持 | - |
| LPAD() | 支持,存在差异 |
|
| REPEAT() | 支持,存在差异 | 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。 |
| REPLACE() | 支持,存在差异 | 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。 |
| RPAD() | 支持,存在差异 |
|
| SPACE() | 支持 | - |
| STRCMP() | 支持,存在差异 | 当GaussDB使用的字符编码是SQL_ASCII时,服务器会根据ASCII标准对字节值0~127进行解释,而字节值128~255则当作无法解析的字符。如果该函数的输入输出包含了任何非ASCII数据,数据库将无法帮助用户转换或者校验非ASCII字符,从而与MySQL的行为产生较大差异。 |
| FIND_IN_SET() | 支持,存在差异 | 当GaussDB使用的字符编码是SQL_ASCII时,服务器会根据ASCII标准对字节值0~127进行解释,而字节值128~255则当作无法解析的字符。如果该函数的输入输出包含了任何非ASCII数据,数据库将无法帮助用户转换或者校验非ASCII字符,从而与MySQL的行为产生较大差异。 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHAR、TEXT等)时,GaussDB对应的返回值类型为TEXT。 |
| LCASE() | ||
| LEFT() | ||
| LOWER() | ||
| LTRIM() | ||
| REVERSE() | ||
| RIGHT() | ||
| RTRIM() | ||
| SUBSTR() | ||
| SUBSTRING() | ||
| SUBSTRING_INDEX() | ||
| TRIM() | ||
| UCASE() | ||
| UPPER() | ||
| UNHEX() | 支持,存在差异 | MySQL的返回值类型为BINARY、VARBINARY、BLOB、MEDIUMBLOB或LONGBLOB;GaussDB返回值类型固定为LONGBLOB。 |
| FIELD() | 支持 | - |
| FORMAT() | 支持 | - |