1: nvl(value1,value2):如果value1为空,包含null和空串,则返回value2,否则返回value1
需要注意value1和value2的数据类型需要一致。
select nvl(null,0) from dual; --- 返回0;
select nvl('',0) from dual; ---- 返回0;
select nvl('abc',0) from dual; ---- 返回abc;
2:nvl2(value1,value2,value3): 如果value1为空,包含null和空串,则返回value3,否则返回value2,也就是说永远不会返回value1.
select nvl2(null,1,2) from dual; -- 返回 2
select nvl2('',1,2) from dual; -- 返回 2
select nvl2('abc',1,2) from dual; -- 返回1