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