SQL NULL 值


 NULL 空值代表丟失的未知數(shù)據(jù)。

 默認情況下,表列可以保存 NULL 值。

 本章解釋 IS NULL 和 IS NOT NULL 操作符。


SQL NULL 值


 如果表中的列是可選的,那么我們可以插入一個新記錄或更新一個現(xiàn)有記錄,而無需向列添加一個值。這意味著該字段將存儲為 NULL 。

 NULL 值的處理與其他值不同。

 NULL 為未知或不適當值的占位符。

 Note注釋:無法比較 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

 Note提示:總是使用 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ù)。