oracle之nvl,nvl2,decode

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

 

posted @ 2019-10-31 16:14  临飞  阅读(553)  评论(0编辑  收藏  举报