将空值转化为实际值

NVL( string1, replace_with)

select NVL('','abc') as test from dual;
--结果值
test
---
abc

通过以上实例可以看到,NVL函数的功能就是:如果string1为空,返回`replace_with`,否则返回`string1`本身。

NVL2(expression_1, expression_2,expression_3)

例一

select nvl2('','abc','def') as test from dual;
--结果值:
test
---
def

例二

select nvl2('a','abc','def') as test from dual;
--结果值:
test
---
abc

从以上两个实例可以看出,NVL2的功能:如果`expression_1`为空,则返回`expression_3`,

否则返回`expression_2`,也就是说这个函数永远不会返回`expression_1`。

coalesce(expression_1, expression_2, ...,expression_n)

select coalesce('','','','','abc') as test from dual;
--结果值
test
---
abc

coalesce这个函数就非常有用了,他的功能:依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。

文章作者: zlinks

文章作者: zlinks
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZFS的成长之路
Oracle Oracle函数
喜欢就支持一下吧