NULL值表示缺少未知的數據。
默認情況下,表列可以保存NULL值。
本章將講解IS NULL和IS NOT NULL操作符。
SQL NULL值
如果在一個表中的列是可選的,我們可以插入新記錄或不添加值此列更新現有記錄。 這意味著該字段將一個NULL值被保存。
NULL值從其他值區別對待。
空用作未知的或不適用的值的佔位符。
注意:這是不可能的,比較NULL和0;它們是不等價的。
SQL用NULL值工作
請看下面的"Persons"表:
P_ID | 姓 | 名字 | 地址 | 市 |
---|---|---|---|---|
1 | 漢森 | 奧拉 | 桑內斯 | |
2 | Svendson | 托弗 | Borgvn 23 | 桑內斯 |
3 | 佩特森 | 卡里 | 斯塔萬格 |
假設"Address"列中的"Persons"表是可選的。 這意味著,如果我們插入一個紀錄為沒有價值的"Address"欄,在"Address"欄將顯示一個NULL值保存。
我們如何測試NULL值?
這是不可能的,以測試NULL值與比較運算符,如=,<,或<>
我們必須使用IS NULL和IS NOT NULL操作符。
SQL IS NULL
我們如何在只選擇具有NULL值的記錄"Address"欄?
我們必須使用IS NULL操作符:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
結果集將是這樣的:
姓 | 名字 | 地址 |
---|---|---|
漢森 | 奧拉 | |
佩特森 | 卡里 |
提示:一定要使用IS NULL來查找NULL值。
SQL IS NOT NULL
我們如何在只選擇沒有NULL值的記錄"Address"欄?
我們必須使用IS NOT NULL操作符:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
結果集將是這樣的:
姓 | 名字 | 地址 |
---|---|---|
Svendson | 托弗 | Borgvn 23 |
在下一章中,我們將著眼於ISNULL() NVL() IFNULL()和COALESCE()函數。