检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
ODBC ODBC接口参考 父主题: 驱动
默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 主键:MySQL中TINYTEXT类型不支持主键,GaussDB支持。 索引:MySQL中TIN
期时间函数公共说明,与MySQL行为一致。 函数入参为时间类型表达式的情况: 时间类型表达式主要包括TEXT、DATETIME、DATE或TIME,但所有可以隐式转换为时间表达式的类型都可以作为入参,比如数字类型可以通过先隐式转化为TEXT,再作为时间类型表达式生效。 但是,不同
负数period的表现: MySQL在5.7版本,会将负数年份解析为异常值而不是报错。GaussDB入参或结果(如100年1月减去10000月)出现负数时报错。在MySQL 8.0中已修复此问题。GaussDB下此函数的表现与MySQL 8.0版本保持一致。 period月份越界的表现: MySQL在5
流程控制函数 表1 流程控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 当第一个参数为TRUE且第三个参数表达式中存在隐式类型转换错误,或者第一个参数为FALSE且第二个参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。
*NullablePtr); 表1 SQLDescribeParam参数说明 参数名 参数说明 差异 StatementHandle 语句句柄。 - ParameterNumber 参数序号,起始为1,依次递增。 - DataTypePtr 指向返回参数数据类型的指针。 MySQL ODBC对于任意类型均返回SQL_VARCHAR。
类型时的情况与MySQL保持一致,其他情况(如入参为运算表达式、函数表达式等)可能返回值的类型与MySQL有差异。 当聚合函数以其他函数、操作符或SELECT子句等表达式作为入参时(如SELECT sum(abs(n)) FROM t;),聚合函数将获取不到入参表达式传递的精度信
其他差异请参见表格下方说明中的内容。 INT[(M)] [UNSIGNED] [ZEROFILL] 支持,存在差异 输入格式: MySQL: 整型类型对于类似“1.2.3.4.5”有多个小数点的字符串形式输入,在宽松模式下MySQL会发生错误解析,抛出WARNING并插表成功,例如将“1
网络地址函数 表1 网络地址函数列表 MySQL数据库 GaussDB数据库 差异 INET_ATON() 支持 - INET_NTOA() 支持 - INET6_ATON() 支持 - INET6_NTOA() 支持,存在差异 GaussDB中,有效入参类型支持VARBINARY或BINARY类型;
行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。 “^”:GaussDB表示次方幂,MySQL表示按位异或。 ENUM('value1','value2'
SUBSTRING_INDEX函数存在差异: 在第三个入参为负数时,MySQL与GaussDB的比较逻辑不同,会导致结果可能存在差异。 当第三个入参为正数时,由于MySQL 5.7以int32位存储,会存在回绕问题导致结果不正确。MySQL 8.0修复了该问题以int64为存储,GaussDB以8.0为准。当入参值超过2^63
支持 使用CREATE TABLE AS方式建表,对VARBINARY类型的字段设置默认值,在使用SHOW CREATE TABLE、DESC或\d 查询的时候回显与MySQL存在差异,GaussDB显示为转换成十六进制后的值,而MySQL显示为原值。 示例: m_db=# CREATE
流程控制函数 表1 流程控制函数列表 MySQL数据库 GaussDB数据库 差异 IF() 支持,存在差异 当第一个参数为TRUE且第三个参数表达式中存在隐式类型转换错误,或者第一个参数为FALSE且第二个参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。
的精度存在差异。在MySQL 5.7中,返回的精度与UNION左右两侧的顺序有关;在MySQL 8.0中修复了这个问题,返回的精度与UNION左右两侧的顺序无关;在GaussDB中,返回的精度与UNION左右两侧的顺序无关,与MySQL 8.0一致,与MySQL 5.7不一致。 --
报错。MySQL中该类型不能超过255字节,超过长度限制后,在严格模式下会报错,在宽松模式下会对数据进行截断并告警。 输入格式:不支持转义字符输入,不支持""双引号输入。 输出格式:对于'\0'字符,查询结果表现为“\000”,使用JDBC驱动的getBytes接口获取表现为'\0'字符。
datatype),将expr表达式类型转换为datatype类型。 集合运算(UNION、MINUS、EXCEPT、INTERSECT)确定最终投影列的目标数据类型后,各个SELECT查询的投影列的类型和目标数据类型不一致。 其他表达式计算场景,根据不同表达式的数据类型, 来决定用于比较或者最终结果的目标数据类型。
日期与时间数据类型 表1 日期与时间数据类型 MySQL数据库 GaussDB数据库 差异 DATE 支持,存在差异 GaussDB支持date数据类型,与MySQL相比规格上存在如下差异: 反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂
默认值:创建表列时语法上允许设置默认值,MySQL不允许设置默认值。 输入二进制或十六进制字符串时,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 主键:MySQL中TINYTEXT类型不支持主键,GaussDB支持。 索引:MySQL中TIN
日期与时间数据类型 表1 日期与时间数据类型 MySQL数据库 GaussDB数据库 差异 DATE 支持,存在差异 GaussDB支持date数据类型,与MySQL相比规格上存在如下差异: 反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB暂
数据类型支持的属性 表1 数据类型支持的属性 MySQ数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 AUTO_INCREMENT 支持 CHARACTER SET name 支持