Skip to content

def_empty_str_as_null

参数名称

def_empty_str_as_null

参数解释

控制是否将长度为0的字符串(即空字符串'')视为NULL值。

  • true:空字符串视为NULL。

    sql
    SQL> SELECT CASE WHEN '' IS NULL THEN 'TRUE' ELSE 'FALSE' END AS is_null_test;
    
    IS_NULL_TEST | 
    ------------------------------------------------------------------------------
    TRUE|
  • false:空字符串不视为NULL。

    sql
    SQL> SELECT CASE WHEN '' IS NULL THEN 'TRUE' ELSE 'FALSE' END AS is_null_test;
    
    IS_NULL_TEST | 
    ------------------------------------------------------------------------------
    FALSE|

默认值

false

取值范围

[true|false]

访问权限

R/W

是否全局参数

修改生效方式

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

操作步骤

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

注意事项

该参数的影响范围当前版本只限定于查询分组计算、部分表达式和字符数据类型系统函数,详细信息如表1所示。

表1 def_empty_str_as_null影响范围
类型名称
系统函数CONCAT_WS CONCAT SUBSTRING_INDEX LPAD RPAD INSTR POSITION LOCATE STRPOS TAILING RIGHT HEADING LEFT SUBSTR SUBSTRING MID OVERLAY RTRIM LTRIM
表达式IS NULL IS NOT NULL