检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 目前GaussDB对不属于当前字符集的非法字符未执行严格的编码逻辑校验,可能导致
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 utf8 支持 binary 支持 父主题: MySQL兼容性B模式
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 utf8 支持 gbk 支持 gb18030 支持 binary 支持 utf8和utf8mb4在GaussDB中为
'\\'等符号一致的编码时,会导致与mysql行为不一致,建议暂时关闭转义符开关进行规避。 目前GaussDB对不属于当前字符集的非法字符未执行严格的编码逻辑校验,可能导致此类非法字符成功输入。而MySQL会校验报错。 父主题: MySQL兼容性M-Compatibility模式
由转义字符引起的本函数与MySQL的差异,此为GaussDB与MySQL的转义字符差异。 str字符串中的“\b”,输出结果表现形式与MySQL有差异。此为GaussDB与MySQL的固有差异 str字符串中含有“\0”时,GaussDB由于UTF-8字符集不识别该字符,输入不
截断告警,MySQL不支持。 GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。 操作符 GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。
由转义字符引起的本函数与MySQL的差异,此为GaussDB与MySQL的转义字符差异。 str字符串中的“\b”,输出结果表现形式与MySQL有差异。此为GaussDB与MySQL的固有差异 str字符串中含有“\0”时,GaussDB由于UTF-8字符集不识别该字符,输入不
字符串函数 表1 字符串函数列表 MySQL数据库 GaussDB数据库 差异 ASCII() 支持 - BIT_LENGTH() 支持 - CHAR_LENGTH() 支持,存在差异 GaussDB此函数如果数据库字符集是SQL_ASCII,CHAR_LENGTH()会返回字节数而非字符数。
截断告警,MySQL不支持。 GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。 操作符 GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。
用户转换或者校验非ASCII字符,从而与MySQL的行为产生较大差异。 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、BLOB等)时,GaussDB对应的返回值类型为LONGBLOB;当MySQL返回值类型为非二进制字符串类型(CHAR、VARCHA
字符串数据类型 表1 字符串数据类型 MySQL数据库 GaussDB数据库 差异 CHAR(M) 支持,存在差异 输入格式:输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 VARCHAR(M) 支持,存在差异
字符串数据类型 表1 字符串数据类型 MySQL数据库 GaussDB数据库 差异 CHAR(M) 支持,存在差异 输入格式:输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 VARCHAR(M) 支持,存在差异
字符串常量的默认字符集与字符序由系统参数character_set_connection和collation_connection决定。否则,其默认字符集与数据库字符集server_encoding相同,其默认字符序为default。 字符集语法: GaussDB暂不支持指定字符串常量的字符集语法。
字符类型表达式的字符集和字符序 每一个字符类型的表达式含有字符集和字符序属性。 在MYSQL模式(即sql_compatibility = 'MYSQL')的数据库下,如果设置参数b_format_version='5.7'和b_format_dev_version='s2'时,
default_charset 指定表的默认字符集,单独指定时会将表的默认字符序设置为指定字符集的默认字符序。 default_collation 指定表的默认字符序,单独指定时会将表的默认字符集设置为指定字符序对应的字符集。 GaussDB通过以下方式选择表的字符集和字符序: 如果同时指定了def
有默认字符序的字符集,如果指定的字符集没有默认字符序则报错。 default_collation仅支持指定为MYSQL模式下的字符序,指定其他字符序报错。 如果表字段为文本类型且指定的字符序为binary ,则文本类型会转换为对应的二进制类型,字符序为指定的binary字符序。
为带有默认字符序的字符集,如果指定的字符集没有默认字符序则报错。 default_collation仅支持指定为B模式下的字符序,指定其他字符序报错。 如果表字段为文本类型且指定的字符序为binary,则文本类型会转换为对应的二进制类型,字符序为指定的binary 字符序。 分区
取值范围:字符串,要符合标识符命名规范。 default_charset 指定模式的默认字符集,单独指定时会将模式的默认字符序设置为指定的字符集的默认字符序。 default_collation 指定模式的默认字符序,单独指定时会将模式的默认字符集设置为指定的字符序对应的字符集。 G
字符串比较运算时的使用的字符序和表达式的字符集。 字符序优先级 不同表达式字符序优先级由高到低排列如下: COLLATE语法拥有最高优先级。 含有字符序冲突的表达式(如:两个不同字符序的字符串拼接表达式)。 支持字符序的数据类型的列、用户自定义变量、存储过程参数、CASE表达式等。
当两个相同优先级的表达式字符序不同时,采用以下方式处理: 如果两者字符集相同,优先使用后缀为_bin的字符序。 如果两者字符集相同,优先不使用default字符序。 如果不符合上述情况,两表达式将被标记为字符序冲突,字符序将被标记为无效。 因COLLATE语法指定同字符集不同字符序产生的冲突,将产生异常。