NULL
值是遗漏的未知数据,默认地,表的列可以存放 NULL
值。
本章讲解 IS NULL
和 IS NOT NULL
操作符。
如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL
值保存。
NULL
值的处理方式与其他值不同。
NULL
用作未知的或不适用的值的占位符。
注释:无法比较 NULL
和 0;它们是不等价的。
那么我们如何测试 NULL
值呢?无法使用比较运算符来测试 NULL
值,比如 =
, <
, 或者 <>
。
我们必须使用 IS NULL
和 IS NOT NULL
操作符。
我们如何仅仅选取在列中带有 NULL 值的记录呢?我们必须使用 IS NULL 操作符:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL
我们如何选取在 “Address” 列中不带有 NULL 值的记录呢?我们必须使用 IS NOT NULL 操作符:
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
IFNULL() 函数
在 MySQL
中,我们可以使用 IFNULL()
函数,就像这样:
下面,如果 “UnitsOnOrder” 是 NULL
,则不利于计算,因此如果值是 NULL
则 IFNULL()
返回 0。
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products