NVL,NVL2,NULLIF有什么区别,及使用.

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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java_wucao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值