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
原文地址:https://www.cnblogs.com/lidelin/p/11771861.html