NVL2
功能概述
根据第一个参数是否为 NULL 返回不同的值:非 NULL 时返回第二个参数,NULL 时返回第三个参数。
语法
NVL2(<expr>, <value_if_not_null>, <value_if_null>)
参数说明
<expr>
<expr>
:用于判断是否为 NULL 的表达式。
<value_if_not_null>
<value_if_not_null>
:<expr>
<expr>
非 NULL 时返回的值。
<value_if_null>
<value_if_null>
:<expr>
<expr>
为 NULL 时返回的值。
注意:
NVL2
NVL2
只判断第一个参数是否为 NULL,不判断其真假(
0
0
、空字符串等非 NULL 值均走第二个参数)。
使用示例
-- 非 NULL 时返回第二个参数
SELECT nvl2(1, 'not null', 'null result');
-- not null
-- NULL 时返回第三个参数
SELECT nvl2(NULL, 'not null', 'null result');
-- null result
-- 0 是非 NULL 值,走第二个参数
SELECT nvl2(0, 'not null', 'null result');
-- not null
相关文档