×
SQL 教程SQL 简介SQL 语法SQL SELECTSQL SELECT DISTINCTSQL WHERE 子句SQL AND & OR 运算符SQL ORDER BY 关键字SQL INSERT INTO 语句SQL UPDATE 语句SQL DELETE 语句

SQL 高级教程

SQL SELECT TOPSQL LIKE 操作符SQL 通配符SQL IN 操作符SQL BETWEEN 操作符SQL 别名SQL 连接SQL INNER JOINSQL LEFT JOINSQL RIGHT JOINSQL FULL JOINSQL UNIONSQL SELECT INTOINSERT INTO SELECTSQL CREATE DATABASESQL CREATE TABLESQL 约束SQL NOT NULLSQL UNIQUESQL PRIMARY KEYSQL FOREIGN KEYSQL CHECKSQL DEFAULTSQL CREATE INDEXSQL DropSQL ALTER TABLESQL AUTO INCREMENTSQL 视图SQL 日期SQL NULL 值SQL NULL 函数SQL 通用数据类型SQL DB 数据类型

SQL 函数

SQL 函数SQL AVG()SQL COUNT()SQL FIRST()SQL LAST()SQL MAX()SQL MIN()SQL SUM()SQL GROUP BYSQL HAVINGSQL UCASE()SQL LCASE()SQL MID()SQL LEN()SQL ROUND()SQL NOW()SQL FORMAT()SQL 快速参考SQL 主机SQL 总结

SQL NULL 值 – IS NULL 和 IS NOT NULL


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

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

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


SQL NULL 值

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

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

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

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

结果集如下所示:

LastName FirstName Address
Hansen Ola
Pettersen Kari

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


SQL IS NOT NULL

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

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

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

结果集如下所示:

LastName FirstName Address
Svendson Tove Borgvn 23

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


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)