跳到主要内容
版本:1.0.13

其他与Oracle引擎相关的参数

  • transform_null_equals

由于针对NULL的任何操作都只会返回NULL,所以要判断一个值是否为NULL一般只能用IS NULL来判断。Halo提供了参数transform_null_equals来控制是否可以用“=”操作符来判断一个值是否为NULL。可以将参数transform_null_equals 设置为 on(默认为off)。

1、数据库中有一条空值记录,当参数transform_null_equals 状态等于off时,使用“=null”不能查询出空值记录

halo0root=# select * from test where id=null;
id
----

(0 行记录)

2、数据库中有一条空值记录,当参数transform_null_equals 状态等于on时,使用“=null”可以查询出空值记录

halo0root=# select * from test where id=null;
id
----

(1 行记录)
  • use_datetime_as_date

Oracle的date 类型带有日期和时间信息,这和Halo的默认设置不同。默认情况下,Halo的date类型只包含日期,datetime类型才包含日期和时间信息。如果想要实现和Oracle相同的date类型,可以将参数use_datetime_as_date设置为true (默认值是 off)。注意,只有将database_compat_mode设置为Oracle模式时此参数才能生效。

use_datetime_as_date = true
  • standard_parserengine_auxiliary

默认情况下Oracle引擎不支持的语法会下传给Halo的默认引擎进行二次解析,以实现更好的兼容性。如果想关闭二次解析功能,可以设置standard_parserengine_auxiliary为'off'(默认为on),此时Oracle引擎碰到不支持的语法会直接报错。

standard_parserengine_auxiliary = 'off'