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

而且兩個值的數據類型要一致,不然會報錯

 

 

參考:https://www.cnblogs.com/zrui-xyu/p/4819712.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM