是否默认将长度为0的字符串当作空值(def_empty_str_as_null)
📄字数 622
👁️阅读量 加载中...
引入版本
v12.0.0
功能描述
是否将长度为 0 的字符串作为空值(NULL)。
参数属性
| 属性 | 属性值 |
|---|---|
| 参数类型 | BOOLEAN |
| 默认值 | TRUE |
| 取值范围 | TRUE,FALSE |
| 影响范围 | 系统级 |
| 修改方式 | 在线修改,立即生效 |
使用场景说明
- 该参数控制系统在部分场景下对空串的处理方式。
| def_empty_str_as_null | 影响范围 |
|---|---|
| true | GROUP BY 分组计算、 IS NULL/IS NOT NULL 表达式、 CONCAT_WS/CONCAT SUBSTRING_INDEX/LPAD RPAD/INSTR POSITION/LOCATE STRPOS/TAILING RIGHT/HEADING LEFT/SUBSTR SUBSTRING/MID OVERLAY/RTRIM LTRIM 等系统函数。 服务端接收参数时将空串(长度为 0 的字符串)作为空值(NULL) |
| false | 不做处理。 |
示例
sql
-- 在线修改 def_empty_str_as_null
SQL> SET def_empty_str_as_null TO false;
-- 在线查看 def_empty_str_as_null
SQL> SHOW def_empty_str_as_null;
/*
* 场景一:
* 1. def_empty_str_as_null = false;
*/
SQL> SELECT concat(''); -- 结果集返回空串;
/*
* 场景二:
* 1. def_empty_str_as_null = true;
*/
SQL> SELECT concat(''); -- 结果集返回 NULL;