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

字符串数据类型

表1 字符串数据类型

MySQL数据库

GaussDB数据库

差异

CHAR[(M)]

支持,存在差异

  • 输入格式
    • GaussDB自定义函数参数和返回值不支持长度校验,存储过程参数不支持长度校验,同时也不支持在PAD_CHAR_TO_FULL_LENGTH打开时补齐正确的空格,MySQL支持。
    • GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。
  • 语法

    GaussDB的 Cast(expr as char)语法无法根据输入的字符串长度转成对应的类型,只支持转成varchar类型。不支持cast( '' as char) 和cast( '' as char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。

  • 操作符
    • GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。
    • GaussDB除以0会报错,MySQL返回null。
    • “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
    • “^”:GaussDB表示次方幂,MySQL表示按位异或。

VARCHAR(M)

支持,存在差异

  • 输入格式
    • GaussDB的自定义函数参数和返回值不支持长度校验,存储过程参数不支持长度校验,MySQL支持。
    • GaussDB的自定义函数和存储过程中的临时变量支持长度校验以及严格宽松模式下的报错和截断告警,MySQL不支持。
    • GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。
  • 操作符
    • GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。
    • GaussDB除以0会报错,MySQL返回null。
    • “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
    • “^”:GaussDB表示次方幂,MySQL表示按位异或。

TINYTEXT

支持,存在差异

  • 输入格式
    • GaussDB中该类型的长度不能超过1GB,超过长度限制后会报错。MySQL中该类型不能超过255字节,超过长度限制后,在严格模式下会报错,在宽松模式下会对数据进行截断并告警。
    • GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。
  • 操作符
    • GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。
    • GaussDB除以0会报错,MySQL返回null。
    • “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
    • “^”:GaussDB表示次方幂,MySQL表示按位异或。

TEXT

支持,存在差异

  • 输入格式
    • GaussDB中该类型的长度不能超过1GB,超过长度限制后会报错。MySQL中该类型不能超过65535字节,超过长度限制后,在严格模式下会报错,在宽松模式下会对数据进行截断并告警。
    • GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。
  • 操作符
    • GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。
    • GaussDB除以0会报错,MySQL返回null。
    • “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
    • “^”:GaussDB表示次方幂,MySQL表示按位异或。

MEDIUMTEXT

支持,存在差异

  • 输入格式
    • GaussDB中该类型的长度不能超过1GB,超过长度限制后会报错。MySQL中该类型不能超过16777215字节,超过长度限制后,在严格模式下会报错,在宽松模式下会对数据进行截断并告警。
    • GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。
  • 操作符
    • GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。
    • GaussDB除以0会报错,MySQL返回null。
    • “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
    • “^”:GaussDB表示次方幂,MySQL表示按位异或。

LONGTEXT

支持,存在差异

  • 输入格式
    • GaussDB只支持不超过1GB的长度,MySQL支持4GB-1字节的长度。
    • GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。
  • 操作符
    • GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。
    • GaussDB除以0会报错,MySQL返回null。
    • “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
    • “^”:GaussDB表示次方幂,MySQL表示按位异或。

ENUM('value1','value2',...)

不支持

-

SET('value1','value2',...)

不支持

-

相关文档