oracle中NVL函数的使用
NVL:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
例如:下面返回的是123
select nvl('123','456') from dual
又例如:下面返回的是456
select nvl(null,'456') from dual
其实可以把这个函数当作默认值的一个处理,例如上面的sql,可以理解为默认一个值为456
其他两个函数
================================================================================
NVL2:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参
例如:下面返回222
select nvl2('111','222','333') from dual
又例如:下面返回333
select nvl2(null,'222','333') from dual
NULLIF:如果exp1和exp2相等则返回空(NULL),否则返回第一个值
例如:下面返回一个空值
select NULLIF('111','111') from dual
又例如:下面返回111
select NULLIF('111','1111') from dual
而且两个值的数据类型要一致,不然会报错