nvl函数对空值的处理

时间:2021-03-30 19:57:23

1.NVL函数

从两个表达式返回一个非 null 值。

语法

NVL(eExpression1, eExpression2)

参数
eExpression1, eExpression2

如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。

返回值类型

字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

2.NVL2函数

语法

NVL(eExpression0, eExpression1,eExpression2)

参数
eExpression0,eExpression1, eExpression2

如果 eExpression0 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1和eExpression2类型不同的话,eExpression2会转换为eExpression1的类型

返回值类型

字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值
3.nullif

NULLIF (expr1, expr2)
expr1與expr2相等返回NULL,不等則返回expr1  注意類型要一致
4.decode

decode (expression, search_1, result_1, search_2, result_2, ., search_n, result_n, default)

decode函數比較表達式和搜索字,如果匹配,返回結果;如果不匹配,返回default值;如果未定義default值,則返回空值。