SQL NULL 值
NULL 空值代表丟失的未知數(shù)據(jù)。
默認情況下,表列可以保存 NULL 值。
本章解釋 IS NULL 和 IS NOT NULL 操作符。
SQL NULL 值
如果表中的列是可選的,那么我們可以插入一個新記錄或更新一個現(xiàn)有記錄,而無需向列添加一個值。這意味著該字段將存儲為 NULL 。
NULL 值的處理與其他值不同。
NULL 為未知或不適當值的占位符。
注釋:無法比較 NULL 和 0;它們是不等價的。
SQL 的 NULL 值處理
請看下面的 "Persons" 表:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Sandnes | |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Stavanger |
如果 "Persons" 表 "Address" 一欄是可選的。這意味著,如果在 "Address" 列中插入一個沒有值的記錄,則 "Address" 列將用 NULL 值保存。
那么如何測試null的值呢?
您不能使用比較操作符測試 NULL 值,例如=、<或<>。
我們必須使用 IS NULL 和 IS NOT NULL 操作符。
SQL IS NULL
我們?nèi)绾尾拍苓x擇 "Address" 列中有 NULL 值的記錄?
我們必須使用 IS NULL 操作符:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
結(jié)果集如下所示:
LastName | FirstName | Address |
---|---|---|
Hansen | Ola | |
Pettersen | Kari |
提示:總是使用 IS NULL 來查找 NULL 值。
SQL IS NOT NULL
我們?nèi)绾尾拍苓x擇 "Address" 列中沒有 NULL 值的記錄?
我們必須使用 IS NOT NULL 操作符:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
結(jié)果集如下所示:
LastName | FirstName | Address |
---|---|---|
Svendson | Tove | Borgvn 23 |
在下一節(jié)中,我們將了解 ISNULL()、NVL()、IFNULL() 和 COALESCE() 函數(shù)。
更多建議: