当前位置: 萬仟网 > IT编程>数据库>Oracle > oracle nvl,nvl2,coalesce几个函数的区别

oracle nvl,nvl2,coalesce几个函数的区别

15  人参与 | 时间:2019-03-15 | 我要评论

1.nvl(exp1,exp2)
该函数是处理表达式中的空值:
假设表达式exp1是空值,则该函数返回表达式exp2的值,
假设表达式exp1没有是空值,则该函数返回表达式exp1的值。

2.nvl2(exp1,exp2,exp3)
该函数决定exp1是空值和非空值时返回哪个表达式:
假设exp1为空值,则返回exp3
假设exp1非空,返回exp2。

3.coalesce(exp1,exp2,.....)
该函数 返回 表达式中第一个非空值,假设都是空值,则返回空值,表达式最少是两个。


测试语句:

 1 -- nvl
 2 select nvl('1','2') from dual;
 3 
 4 select nvl(null,'2') from dual;
 5 
 6 -- nvl2
 7 select nvl2('1','2','3') from dual;
 8 
 9 select nvl2(null,'2','3') from dual;
10 
11 -- coalesce
12 select coalesce('是',null,'否') from dual;
13 
14 select coalesce(null,'是','否') from dual;
15 
16 select coalesce(null,null,'否') from dual;
17 
18 select coalesce(null,null,null) from dual;

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

◎已有 0 人评论

Copyright © 2019  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com