SQL 1 : SQL 教程 2 : SQL 简介 3 : SQL 语法 4 : SQL SELECT 语句 5 : SQL SELECT DISTINCT 6 : SQL WHERE 子句 7 : SQL AND & OR 运算符 8 : SQL ORDER BY 关键字 9 : SQL INSERT INTO 10 : SQL UPDATE 语句 11 : SQL DELETE 语句 12 : SQL SELECT TOP, LIMIT, ROWNUM 13 : SQL LIKE 操作符 14 : SQL 通配符 15 : SQL IN 操作符 16 : SQL BETWEEN 操作符 17 : SQL 别名 18 : SQL 连接(JOIN) 19 : SQL INNER JOIN 关键字 20 : SQL LEFT JOIN 关键字 21 : SQL RIGHT JOIN 关键字 22 : SQL FULL OUTER JOIN 23 : SQL UNION 操作符 24 : SQL SELECT INTO 25 : SQL INSERT INTO SELECT 26 : SQL CREATE DATABASE 27 : SQL CREATE TABLE 28 : SQL 约束 29 : SQL NOT NULL 约束 30 : SQL UNIQUE 约束 31 : SQL PRIMARY KEY 32 : SQL FOREIGN KEY 33 : SQL CHECK 约束 34 : SQL DEFAULT 约束 35 : SQL CREATE INDEX 36 : SQL 撤销索引、表以及数据库 37 : SQL ALTER TABLE 38 : SQL AUTO INCREMENT 39 : SQL 视图 (Views) 40 : SQL Server 和 MySQL 中的 Date 函数 41 : SQL NULL 值 – IS NULL 和 IS NOT NULL 42 : SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数 43 : SQL 通用数据类型 44 : SQL MS Access、MySQL 和 SQL Server 数据类型 45 : SQL 函数 46 : SQL AVG() 函数 47 : SQL COUNT() 函数 48 : SQL FIRST() 函数 49 : SQL LAST() 函数 50 : SQL MAX() 函数 51 : SQL MIN() 函数 52 : SQL SUM() 函数 53 : SQL GROUP BY 语句 54 : SQL HAVING 子句 55 : SQL UCASE() 函数 56 : SQL LCASE() 函数 57 : SQL MID() 函数 58 : SQL LEN() 函数 59 : SQL ROUND() 函数 60 : SQL NOW() 函数 61 : SQL FORMAT() 函数 62 : SQL 快速参考 63 : SQL 主机 64 : SQL 总结

SQL NULL 值


NULL 值代表遗漏的未知数据。

默认地,表的列可以存放 NULL 值。

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


SQL NULL 值

如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。

NULL 值的处理方式与其他值不同。

NULL 用作未知的或不适用的值的占位符。

Note注释:无法比较 NULL 和 0;它们是不等价的。


SQL 的 NULL 值处理

请看下面的 "Persons" 表:

P_IdLastNameFirstNameAddressCity
1HansenOla
Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKari
Stavanger

假如 "Persons" 表中的 "Address" 列是可选的。这意味着如果在 "Address" 列插入一条不带值的记录,"Address" 列会使用 NULL 值保存。

那么我们如何测试 NULL 值呢?

无法使用比较运算符来测试 NULL 值,比如 =、< 或 <>。

我们必须使用 IS NULL 和 IS NOT NULL 操作符。


SQL IS NULL

我们如何仅仅选取在 "Address" 列中带有 NULL 值的记录呢?

我们必须使用 IS NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons  
WHERE Address IS NULL

结果集如下所示:

LastNameFirstNameAddress
HansenOla
PettersenKari

Note提示:请始终使用 IS NULL 来查找 NULL 值。


SQL IS NOT NULL

我们如何仅仅选取在 "Address" 列中不带有 NULL 值的记录呢?

我们必须使用 IS NOT NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons  
WHERE Address IS NOT NULL

结果集如下所示:

LastNameFirstNameAddress
SvendsonToveBorgvn 23

在下一节中,我们了解 ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数。


关注极客云图了解更多内容