NVL,NVL2在我们日常开发中经常能遇到,今天辞职走流程中闲着,特意写一篇文章记载下来.怕自己理解有错,还特意百度了一下,然后得到了NULLIF的使用,也算是意外收获了.
NVL (expr1, expr2):expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致 .
NVL2 (expr1, expr2, expr3) :expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型 .
NULLIF (expr1, expr2):expr1与expr2相等时返回NULL,不相等时返回expr1.(这个与上面两个返回定义最为不一样)
例子如下:
select nvl(null,2) from dual -- 返回结果: 2
select nvl(1,2) from dual -- 返回结果: 1
select nvl2(1,2,3) from dual --返回结果: 2
select nvl2(null,2,3) from dual --返回结果: 3
select NULLIF(1,1) from dual -- 返回结果: null
select NULLIF(1,2) from dual -- 返回结果: 1
本文详细介绍了 Oracle SQL 中 NVL, NVL2 和 NULLIF 函数的用法,并通过具体实例展示了如何使用这些函数来处理 NULL 值,帮助读者更好地理解和掌握这些常用函数。
773

被折叠的 条评论
为什么被折叠?



