Skip to content

def_compatible_mode

参数名称

def_compatible_mode

参数解释

设置连接会话参数使用的兼容模式。

  • NONE:默认值,不启用任何特定的兼容模式。
  • ORACLE:启用Oracle兼容模式。
  • MYSQL:启用MySQL兼容模式。
  • POSTGRESQL:启用PostgreSQL兼容模式。

默认值

NONE

取值范围

[NONE|ORACLE|MYSQL|POSTGRESQL]

ORACLE

  • 标识符统一转为大写。
  • 兼容聚合函数VAR_POP/VARP/VAR/VARIANCE/STDEVP/STDDEV_POP/STDEV计算行为。
  • 兼容存储过程创建方式,支持强制创建存储过程,即使编译失败也不报错。
  • 兼容COALESCE的计算行为,忽略空值。
  • 兼容LEAST的计算行为,若参数列表中包含空值,则一定返NULL
  • 兼容GREATEST的计算行为,若参数列表中包含空值,则一定返NULL
  • 兼容DATE数据类型。

MYSQL

  • 兼容二进制数据与字符串数据类型之间相互转换的处理方式,相关函数BITTOCHAR
  • 兼容三角函数ACOS的处理方式,当ACOS的参数值不在[-1,1]之间,则返回NULL
  • 兼容字符串转换为浮点数的处理方式,转换时异常字符不报错,尝试进行截断处理。
  • 兼容TRUNCATE对象数据后,重置应用在表上的自增序列值生成器当前值为1
  • 兼容非字段表达式的输出列名处理方式,若无别名则展示表达式。
  • 兼容部分日期格式数据的转换处理。

POSTGRESQL

  • 标识符统一转为小写。
  • 兼容浮点数向整型转换的处理方式,若四舍五入进位触及边界值,小数部分会截断。
  • 兼容十六进制数中字母以小写形式表示,相关函数HEX

访问权限

R/W

是否全局参数

修改生效方式

def_compatible_mode可在系统运行时,通过数据库SET命令修改,修改后参数值立即生效。

操作步骤

  1. 在数据库中执行以下命令修改def_compatible_mode参数值,根据实际需求在取值范围内选择合适的value值。
    SQL> SET def_compatible_mode TO value
  2. 在数据库中执行以下命令查看当前参数值。
    SQL> SHOW def_compatible_mode

注意事项