平台和客户端兼容性

很多平台都使用数据库系统,数据库系统的对外兼容性给平台提供了很大的方便。

convert_string_to_digit

参数说明:设置隐式转换优先级,是否优先将字符串转为数字。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**布尔型

  • on表示优先将字符串转为数字。
  • off表示不优先将字符串转为数字。

默认值:on

须知: 该参数调整会修改内部数据类型转换规则,导致不可预期的行为,请谨慎操作。

nls_timestamp_format

参数说明:设置时间戳默认格式。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串

默认值:DD-Mon-YYYY HH:MI:SS.FF AM

group_concat_max_len

**参数说明:**搭配函数GROUP_CONCAT使用,限制其返回值长度,超长截断。

该参数属于USERSET类型参数,请参考表表1中对应设置方法进行设置。

**取值范围:**0-9223372036854775807

**默认值:**1024

说明: 目前能返回的最大长度是1073741823,超出此长度后会有out of memory的报错。

max_function_args

参数说明:函数参数最大个数。

该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。

取值范围:整型

默认值:8192

transform_null_equals

**参数说明:**控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。如果expr得出NULL值则返回真,否则返回假。

  • 正确的SQL标准兼容的expr = NULL总是返回NULL(未知)。
  • Microsoft Access里的过滤表单生成的查询使用expr = NULL来测试空值。打开这个选项,可以使用该接口来访问数据库。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**布尔型

  • on表示控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。
  • off表示不控制,即expr = NULL总是返回NULL(未知)。

**默认值:**off

说明: 新用户经常在涉及NULL的表达式上语义混淆,故默认值设为off。

support_extended_features

**参数说明:**控制是否支持数据库的扩展特性。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**布尔型

  • on表示支持数据库的扩展特性。
  • off表示不支持数据库的扩展特性。

**默认值:**off

sql_compatibility

**参数说明:**控制数据库的SQL语法和语句行为同哪一个主流数据库兼容。

该参数属于INTERNAL类型参数,用户无法修改,只能查看。

**取值范围:**枚举型

  • A表示同O数据库兼容。
  • B表示同MY数据库兼容。
  • C表示同TD数据库兼容。
  • PG表示同POSTGRES数据库兼容。

**默认值:**A

须知:

  • 该参数只能在执行CREATE DATABASE命令创建数据库时通过dbcompatibility设置。

  • 在数据库中,该参数只能是确定的一个值,要么始终设置为A,要么始终设置为B,请勿任意改动,否则会导致数据库行为不一致。

b_format_behavior_compat_options

**参数说明:**数据库B模式兼容性行为配置项,该参数的值由若干个配置项用逗号隔开构成。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**字符串

默认值:""

说明:

  • 当前只支持表1 兼容性B模式配置项
  • 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set b_format_behavior_compat_options='enable_set_variables,set_session_transaction';

表 1 兼容性B模式配置项

enable_set_variable_b_format

**参数说明:**在MY数据库模式下是否支持自定义用户变量的功能。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**布尔型

  • on表示在MY数据库模式下支持自定义用户变量。
  • off表示在MY数据库模式下不支持自定义用户变量。

behavior_compat_options

**参数说明:**数据库兼容性行为配置项,该参数的值由若干个配置项用逗号隔开构成。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**字符串

**默认值:**空

说明:

  • 当前只支持表1

  • 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set behavior_compat_options='end_month_calculate,display_leading_zero';

表 1 兼容性配置项

plsql_compile_check_options

**参数说明:**数据库兼容性行为配置项,该参数的值由若干个配置项用逗号隔开构成。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**字符串

默认值:""

说明:

  • 当前只支持表2
  • 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set plsql_compile_check_options='for_loop,outparam';

表 3 兼容性配置项

plpgsql.variable_conflict

参数说明:设置同名的存储过程变量和表的列的使用优先级。

该参数属于USERSET类型参数,仅支持表2中对应设置方法3进行设置。

取值范围:字符串

  • error表示遇到存储过程变量和表的列名同名则编译报错。
  • use_variable表示存储过程变量和表的列名同名则优先使用变量。
  • use_column表示存储过程变量和表的列名同名则优先使用列名。

默认值:error

td_compatible_truncation

**参数说明:**控制是否开启与Teradata数据库相应兼容的特征。该参数在用户连接上与TD兼容的数据库时,可以将参数设置成为on(即超长字符串自动截断功能启用),该功能启用后,在后续的insert语句中,对目标表中char和varchar类型的列插入超长字符串时,会按照目标表中相应列定义的最大长度对超长字符串进行自动截断。保证数据都能插入目标表中,而不是报错。

说明: 超长字符串自动截断功能不适用于insert语句包含外表的场景。如果向字符集为字节类型编码(SQL_ASCII、LATIN1等)的数据库中插入多字节字符数据(如汉字等),且字符数据跨越截断位置,这种情况下,按照字节长度自动截断,自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求,建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**布尔型

  • on表示启动超长字符串自动截断功能。
  • off表示停止超长字符串自动截断功能。

**默认值:**off

uppercase_attribute_name

参数说明:设置列名以大写形式返回给客户端。该参数仅限于ORA兼容模式和集中式环境下使用。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**布尔型

  • on表示开启列名以大写形式返回给客户端。
  • off表示关闭列名以大写形式返回给客户端。

默认值:off

lastval_supported

**参数说明:**控制是否可以使用lastval函数。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

**取值范围:**布尔型

  • on表示支持lastval函数,同时nextval函数不支持下推。
  • off表示不支持lastval函数,同时nextval函数可以下推。

**默认值:**off

enable_custom_parser

该参数当前版本不支持。

意见反馈
编组 3备份
2024-02-22 03:36:03
取消