oracle之nvl,nvl2,decode

混江龙づ霸主 提交于 2019-12-03 02:30:35

oracle sql常用查询nvl,nvl2,decode区别及使用方法

1,NVL( E1, E2) 如果E1为NULL,则NVL函数返回E2的值,否则返回E1的值,如果两个参数都为NULL ,则返回NULL。

select nvl(null, 1) from dual; --1
select nvl(2, 1) from dual; --2
select nvl(null, null) from dual; --null

 

2,nvl2 (E1, E2, E3) 的功能为:如果E1为NULL,则函数返回E3,否则返回E2

select nvl2(null, 1, 3) from dual; --3

 

,3,decode(E1, E2, E3, E4, E5, E6 ) 如果E1==E2,则值E3,如果E1==E4,则值E5;否则E5

select decode(1, 1, 2, 3, 4, 5) from dual; --2
select decode(3, 1, 2, 3, 4, 5) from dual; --4
select decode(2, 1, 2, 3, 4, 5) from dual; --5

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!