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
而且兩個值的數據類型要一致,不然會報錯