0
点赞
收藏
分享

微信扫一扫

oracle NVL和NVL2区别


1、nvl(value1,value2)  

这个函数的意思是如果value1的值为null,那么函数返回value2的值  ,如果value1不为空,那么就返回value1的值。

需要注意的是value1和value2要保持字段类型相同。

2、nvl2(value1,value2,value3)  

这个函数的意思是如果value1的值为null 函数返回value3   否则函数返回value2   也就是说函数永远不会返回value1

注意的是参数value2 value3可以是除了LONG类型之外的任意数据类型。
 

SQL> select * from T1;

ID NAME
---------- ------------------------------
1 A
2

SQL> select id,nvl(name,0) from T1;

ID NVL(NAME,0)
---------- ------------------------------
1 A
2 0

SQL> select id,nvl2(name,888,999) from T1;

ID NVL2(NAME,888,999)
---------- ------------------
1 888
2 999

举报

相关推荐

0 条评论