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()函数。