transform_null_equals
启用将“= NULL”视为“IS NULL”的 GUC
transform_null_equals
是一个 配置参数,它允许将 expr
=
NULL
语法上等同于 expr
IS
NULL
。
transform_null_equals
添加于 PostgreSQL 7.2。
默认值
transform_null_equals
的默认值为:off
。
用法
在标准 SQL 中,expr
=
NULL
将始终评估为 NULL
(即未知)。但是,对于某些用例(文档中提到了与 Microsoft Access 的兼容性),可能需要覆盖此行为,并始终将 expr
=
NULL
视为与 expr
IS
NULL
语法上等同。
请注意,transform_null_equals
只影响 expr
=
NULL
(或 NULL
=
expr
),而不影响其他比较运算符或其他在计算上等同于包含等于运算符的一些表达式的表达式。
按 PostgreSQL 版本详细说明
transform_null_equals (PostgreSQL 18)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 17)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 16)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 15)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 14)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 13)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 12)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 11)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 10)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 9.6)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 9.5)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
需要重启 |
false |
文档:transform_null_equals
transform_null_equals (PostgreSQL 9.4)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档:transform_null_equals
transform_null_equals (PostgreSQL 9.3)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档:transform_null_equals
transform_null_equals (PostgreSQL 9.2)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档:transform_null_equals
transform_null_equals (PostgreSQL 9.1)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档:transform_null_equals
transform_null_equals (PostgreSQL 9.0)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档:transform_null_equals
transform_null_equals (PostgreSQL 8.4)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档:transform_null_equals
transform_null_equals (PostgreSQL 8.3)
设置 |
|
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
文档:transform_null_equals
transform_null_equals (PostgreSQL 8.2)
设置 |
|
单位 |
|
类别 |
版本和平台兼容性/其他平台和客户端 |
简短描述 |
将“expr=NULL”视为“expr IS NULL”。 |
额外描述 |
启用后,expr = NULL(或 NULL = expr)形式的表达式将被视为 expr IS NULL,也就是说,如果 expr 评估为 null 值,则返回 true,否则返回 false。expr = NULL 的正确行为是始终返回 null(未知)。 |
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认值 |
最小值 |
|
最大值 |
|
文档:transform_null_equals
更改历史
示例
transform_null_equals
的基本用法示例
postgres=# SELECT (1 = NULL) IS NULL;
?column?
----------
t
(1 row)
postgres=# SELECT (NULL = 1) IS NULL;
?column?
----------
t
(1 row)
postgres=# SET transform_null_equals = on;
SET
postgres=# SELECT (1 = NULL) IS NULL;
?column?
----------
f
(1 row)
postgres=# SELECT (NULL = 1) IS NULL;
?column?
----------
f
(1 row)