检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
流量控制函数 表1 流量控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 expr1入参仅支持bool类型。非bool类型入参若不能转换为bool类型则报错。 若expr2、expr3两个入参类型不同且两类型间不存在隐式转换函数则报错。 两个入参类型相同时,返回该入参类型。
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 GaussDB不支持使用CAST(expr AS CHAR[(N)] charset_info或者CAST(expr AS NCHAR[(N)])转换字符集。 GaussDB支持使用CAST(expr
数字操作函数 表1 数字操作函数列表 MySQL数据库 GaussDB数据库 差异 ABS() 支持 - ACOS() 支持 - ASIN() 支持 - ATAN() 支持 - ATAN2() 支持 - CEILING() 支持,存在差异 部分操作结果类型与MySQL不一致。对于
API中的一个函数,用于获取与预处理SQL语句(如调用SQLPrepare)相关参数的描述信息。它可以返回参数的类型、大小、是否允许NULL值等元数据,这对于动态构建SQL语句和绑定参数非常有用。 原型 SQLRETURN SQLDescribeParam( SQLHSTMT StatementHandle
ELECT、INSERT、UPDATE、REFERENCES和COMMENT权限的列信息。 MySQL中需要拥有指定表的任意表级权限或列级权限,仅显示拥有SELECT、INSERT、UPDATE、REFERENCES和COMMENT权限的列信息。 模糊匹配时涉及到字符串比较操作时
始终将127.0.0.1和::1解析为localhost。 DEFAULT() 支持,存在差异 GaussDB支持使用列别名,MySQL不支持。 BENCHMARK() 支持,存在差异 因为MySQL和GaussDB执行层框架存在差异,所以MySQL和GaussDB使该函数评估
当该函数入参含有NULL且在WHERE关键字之后调用,返回结果与MySQL 5.7不一致,此处为MySQL 5.7存在的问题,MySQL 8.0修复了该问题,目前GaussDB和MySQL 8.0保持一致。 LEAST() 支持,存在差异 当MySQL返回值类型为二进制字符串类型(BINARY、VARBINARY、B
加密函数列表 MySQL数据库 GaussDB数据库 差异 AES_DECRYPT() 支持,存在差异 ecb为不安全加密模式,GaussDB不支持,默认为cbc模式。 GaussDB中,当指定数据库使用的字符编码是SQL_ASCII时,服务器把字节值0~127根据ASCII标准解释
IF EXISTS 如果指定的模式不存在,发出一个notice而不是抛出一个错误。 schema_name 模式的名称。 取值范围:已存在模式名。 CASCADE | RESTRICT CASCADE:自动删除包含在模式中的对象。 RESTRICT:如果模式包含任何对象,则删除失败(缺省行为)。
取值范围:GaussDB中该类型由BYTEA类型映射得来,长度不能超过1GB,超过长度限制后会报错。MySQL中该类型不能超过255字节,超过长度限制后,在严格模式下会报错,在宽松模式下会对数据进行截断并告警。 输入格式:不支持转义字符输入,不支持""双引号输入。 输出格式:对于'\0'字符,查询结果表现为“\
IF EXISTS 如果指定的模式不存在,发出一个notice而不是抛出一个错误。 schema_name 模式的名称。 取值范围:已存在模式名。 CASCADE | RESTRICT CASCADE:自动删除包含在模式中的对象。 RESTRICT:如果模式包含任何对象,则删除失败(缺省行为)。
VARCHAR(M) 支持,存在差异 输入格式: GaussDB的自定义函数参数和返回值不支持长度校验,存储过程参数不支持长度校验,MySQL支持。 GaussDB的自定义函数和存储过程中的临时变量支持长度校验以及严格宽松模式下的报错和截断告警,MySQL不支持。 GaussDB不支持转义字符输入
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 DATABASE() 支持 - UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
DCL 表1 DCL语法兼容介绍 概述 详细语法说明 差异 SET NAMES指定COLLATE子句 SET [ SESSION | LOCAL ] NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT}; Gaus
为非表字段时,MAX函数返回值类型和MySQL 5.7不一致。 开启精度传递时,MAX函数嵌套time、date、datetime、timestamp类型的时间间隔运算,返回值及返回类型与MySQL 8.0保持一致。 开启精度传递时,MAX函数和INTERVAL的时间间隔运算,返回值及返回类型与MySQL
JSON函数 JSON函数差异说明:对于JSON函数和其他字符入参函数,如果输入中包含转义字符,默认情况下会与MySQL有一定差异。要实现与MySQL的兼容,需要设置GUC参数standard_conforming_strings取值为off,在这种情况下,转义字符的处理将与My
网络地址函数 表1 网络地址函数列表 MySQL数据库 GaussDB数据库 差异 INET_ATON() 支持 - INET_NTOA() 支持 - INET6_ATON() 支持 - INET6_NTOA() 支持,存在差异 GaussDB中,有效入参类型支持VARBINARY或BINARY类型;
在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字 约束 保留(可以是类型或函数) COLLATION、COMPACT 除函数和变量,不可以作为其他数据库标识符。 非保留(不能是类型或函数) BIT、BOOLEAN、COALESCE、DATE、NATIONAL、NCH
换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。 NULLIF() 支持,存在差异 函数返回值类型在MySQL 5.7和MySQL 8.0中存在差异,考虑到MySQL 8.0更合理,因此函数返回值类型兼容MySQL 8.0。 父主题: 系统函数
支持 - CRC32() 支持,存在差异 当BINARY类型插入字符串长度小于目标长度时,GaussDB填充符和MySQL不同;因此入参为BINARY类型时,函数结果和MySQL不一致。 CONV() 支持 - 父主题: 系统函数