一:NVL(表达式1,表达式2)
如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型
二:NVL2(表达式1,表达式2,表达式3)
如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值
select '' from dual;
--结果: ''
select nvl('',0) from dual;
--结果: 0
select nvl2('','1','2') from dual;
--结果:2
select nvl2('0','1','2') from dual;
--结果:1