Oracle nvl()函數處理null值


首先我先說一下什么是Oracle的函數,曾經有一位大牛,讓我說說熟悉的oracle函數,我當時竟一頭霧水,心想“什么oracle函數啊,不就是那些SQL語句嗎“,當時我竟然說出了select之類的回答,他幾乎要生氣,反復強調:“我說了是Oracle函數”,后來他講,函數可以理解為帶有括號的(),后來我慢慢地懂事了之后,就經常百度oracle函數,每次有面試或者復習的時候,我都刻意練練SQL的函數。

使用nvl函數處理null值:

Eg:計算每個人的全年的收入包括月薪和年終津貼

(1)           年薪是(月薪)*12+績效;

(2)           但績效(comm)有null值,當comm是null值時,月薪+績效的結果也是null值;

(3)           所以,當comm為null值時,需要把它當做0來處理。哪個函數能勝此重任呢?nvl();

(4)           nvl()相當於一條if..else語句,如果字段不為空,取原值;

select ename,sal*12 +nvl(comm,0) as 年薪 from emp;


免責聲明!

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



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