下面是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值的處理