【Oracle】Oracle 的過程化SQL(PLSQL)中NULL值的處理


下面是NULL的幾個注意點:

  1.NULL值既不是空格也不是0。

  2.給表插入值的時候,如果沒有給列指定列值,則默認為NULL。

  3.當算術表達式里包含NULL值時,其計算結果也是NULL值。

    這時候如果我們需要得到確定的結果值,我們就該對NULL值進行處理了,這里有兩種函數可以用來處理NULL值,NVL函數和NVL2函數,用法如下:

    sal+NVL(comm,0)   --sal是工資列,comm是獎金列,當comm列為NULL值時就用0來替換NULL值進行算術運算

    NVL2(comm,sal+comm,sal)  --NVL2有3個參數,當comm不空時返回sal+comm的值,否則返回sal的值

  4.當與NULL值進行比較或邏輯運算的時候千萬不要使用“=”,“<>”操作符,因為使用它們代碼不會任何錯誤,但條件字句返回的總是false,從而使代碼運行得到不符合預想和邏輯的錯誤,應該是用IS NULL操作符進行比較和判斷,以避免上述情況。在進行自連接或是外連接查詢的時候,就經常會出現這種問題,比如Oracle的外連接

 

原文連接:PLSQL NULl值的處理


免責聲明!

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



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