oracle NVL和NVL2区别

seuleyang

关注

阅读 93

2022-07-29


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)

0 0 举报