检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQLDescribeParam接口是ODBC API中的一个函数,用于获取与预处理SQL语句(如调用SQLPrepare)相关参数的描述信息。它可以返回参数的类型、大小、是否允许NULL值等元数据,这对于动态构建SQL语句和绑定参数非常有用。 原型 SQLRETURN SQLDescribeParam(
t),聚合函数将获取不到入参表达式传递的精度信息,导致函数的结果精度与MySQL有差异。 聚合函数的结果与数据输入顺序相关,不同的数据输入顺序会导致结果存在差异。 例如与ORDER BY同时使用时,改变了聚合函数的执行顺序,会导致结果与MySQL不一致。 --准备基表: CREATE
由于GaussDB数据库与MySQL数据库在底层框架实现上存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。 M-Compatibility模式在语法、数据类型、元数据、协议等功能上对MySQL数据库有更好的兼容度,推荐使用。B模式由于架构限制无法很好的与MySQL兼容,后续不再演进,不推荐使用。
GaussDB的按精度输出的时间值(小数点后的值)是四舍五入的;MySQL是直接截断的。GaussDB按精度输出的时间值(小数点后的值)末尾0都不显示;MySQL会显示。GaussDB只支持输入[0,6]范围内的整型值,作为返回时间的精度,其他均报错;MySQL的精度值有效值是[0
Ustore支持读已提交隔离级别。语句在执行开始时,获取当前系统的CSN作为当前语句的查询CSN。整个语句的可见结果由语句开始那一刻决定,不受后续其他事务修改影响。Ustore中read committed默认是保持一致性读的。Ustore也支持标准的2PC事务。 父主题: Ustore事务模型
Ustore支持读已提交隔离级别。语句在执行开始时,获取当前系统的CSN作为当前语句的查询CSN。整个语句的可见结果由语句开始那一刻决定,不受后续其他事务修改影响。Ustore中read committed默认是保持一致性读的。Ustore也支持标准的2PC事务。 父主题: Ustore事务模型
stmt; EXECUTE IMMEDIATE可以用于不返回结果集的SQL语句,比如:DDL、INSERT、UPDATE和DELETE语句。但不能用这种方式执行检索数据的语句,比如:SELECT语句。 父主题: 执行动态SQL语句
stmt; EXECUTE IMMEDIATE可以用于不返回结果集的SQL语句,比如:DDL、INSERT、UPDATE和DELETE语句。但不能用这种方式执行检索数据的语句,比如:SELECT语句。 父主题: 执行动态SQL语句
MySQL兼容性B模式 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动
merge into语句统计结果。 ddl_count bigint DDL语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dml_count bigint DML语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dcl_count
merge into语句统计结果。 ddl_count numeric DDL语句的数量。 dml_count numeric DML语句的数量。 dcl_count numeric DCL语句的数量。 total_select_elapse numeric 总select的时间花费(单位:微秒)。
行数),不受此参数的影响,统一返回影响行数,MySQL受此参数影响。 GaussDB中INSERT ON DUPLICATE KEY UPDATE中触发冲突的场景,如果冲突一条返回1,MySQL返回2。 SYSTEM_USER() 支持,存在差异 MySQL的配置文件中配置ski
merge into语句统计结果。 ddl_count numeric DDL语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dml_count numeric DML语句的数量。该统计结果包含用户执行的SQL语句和数据库后台线程执行的SQL语句。 dcl_count
merge into语句统计结果。 ddl_count bigint DDL语句的数量。 dml_count bigint DML语句的数量。 dcl_count bigint DCL语句的数量。 total_select_elapse bigint 总select的时间花费(单位:微秒)。
窗口函数差异说明:MySQL数据库管理系统在调用窗口函数时,OVER子句中的ORDER BY子句与PARTITION BY子句不支持使用列别名,GaussDB数据库支持使用列别名。 表1 窗口函数列表 MySQL数据库 GaussDB数据库 差异 LAG() 支持,存在差异 偏移量N的取值范围不同:
GaussDB中暂不支持指定charset_name与数据库字符集不同。具体请参考《M-Compatibility开发指南》中“SQL参考 > SQL语法 > SQL语句 > S > SET ”章节。 父主题: SQL
GaussDB数据库支持指定库、模式、表或列的排序规则,支持的范围如下。 排序规则差异说明: 当前仅有字符串类型、部分二进制类型支持指定排序规则,其他类型不支持指定排序规则,可以通过查询pg_type系统表中类型的typcollation属性不为0来判断该类型支持字符序。MySQL中所有类型可以指定字符
merge into语句统计结果。 ddl_count bigint DDL语句的数量。 dml_count bigint DML语句的数量。 dcl_count bigint DCL语句的数量。 total_select_elapse bigint 总select的时间花费(单位:微秒)。
默认情况下会与MySQL有一定差异。要实现与MySQL的兼容,需要设置GUC参数standard_conforming_strings取值为off,在这种情况下,转义字符的处理将与MySQL兼容,但是使用转义字符\f、\Z、\0和\uxxxx的场景会与MySQL存在差异。 表1
在M-Compatibility中,用户与权限管控相关的行为、语法整体沿用GaussDB的机制,暂不同步MySQL。 用户与权限的行为与GaussDB保持一致,具体行为说明请参见《开发指南》中的“数据库安全 > 用户及权限”章节。 用户与权限的语法在原有GaussDB的基础上,裁剪了部分语法,具体语法