SQL基础知识普及(二十二)——IS NULL 和 IS NOT NULL

简介: SQL数据库开发

NULL 空值代表丢失的未知数据。

默认情况下,表列可以保存 NULL 值。

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

SQL NULL 值

如果表中的列是可选的,那么我们可以插入一个新记录或更新一个现有记录,而无需向列添加一个值。这意味着该字段将存储为 NULL 。

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

NULL 为未知或不适当值的占位符。

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

SQL 的 NULL 值处理

请看下面的 "Persons" 表:

40.jpg如果 "Persons" 表 "地址" 一栏是可选的。这意味着,如果在 "地址" 列中插入一个没有值的记录,则 "地址" 列将用 NULL 值保存。

那么如何测试null的值呢?

您不能使用比较操作符测试 NULL 值,例如=、<或<>。

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

SQL IS NULL

我们如何才能选择 "Address" 列中有 NULL 值的记录?

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

SELECT 姓名,地址,城市 FROM Persons

WHERE 地址 IS NULL

结果集如下所示:


41.jpg

提示:总是使用 IS NULL 来查找 NULL 值。

SQL IS NOT NULL

我们如何才能选择 "Address" 列中没有 NULL 值的记录?

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

SELECT 姓名,地址,城市 FROM Persons

WHERE 地址 IS NOT NULL

结果集如下所示:


42.jpg

相关文章
|
5月前
|
SQL 数据库
SQL 中的 NULL 值:定义、测试和处理空数据,以及 SQL UPDATE 语句的使用
NULL 值是指字段没有值的情况。如果表中的字段是可选的,那么可以插入新记录或更新记录而不向该字段添加值。此时,该字段将保存为 NULL 值。需要注意的是,NULL 值与零值或包含空格的字段不同。具有 NULL 值的字段是在记录创建期间留空的字段。
59 0
|
5月前
|
SQL 关系型数据库 MySQL
我使用flinkcdc的sql形式进行全量同步,4张表,有两张表数据没进去,看日志,id怎么是null呢?
我使用flinkcdc的sql形式进行全量同步,4张表,有两张表数据没进去,看日志,id怎么是null呢?
117 40
|
4月前
|
SQL Oracle 关系型数据库
Oracle PL/SQL基础知识及应用案例
Oracle PL/SQL基础知识及应用案例
33 0
|
5月前
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【LIKE子句的使用 ,NULL值的处理,空值的处理】
MYSQL基础知识之【LIKE子句的使用 ,NULL值的处理,空值的处理】
60 0
|
5月前
|
关系型数据库 MySQL 开发者
MySQL 字段约束 null, not null, default, auto_increment
前言:转载,觉得有用就发了一遍 在 MySQL 中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束。 今天我们就来看一下 MySQL 的字段约束: NULL 和 NOT NULL 修饰符、DEFAULT 修饰符,AUTO_INCREMENT 修饰符。
120 0
|
6月前
|
安全 关系型数据库 MySQL
java.sql.SQLException: null,message server: Host ora-rac2 is blocked because of many
java.sql.SQLException: null,message server: Host ora-rac2 is blocked because of many
|
6月前
|
SQL 关系型数据库 数据库
DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null
DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null
131 0
|
8月前
|
SQL 数据采集 测试技术
软件测试|SQL中的null值,该如何理解?
软件测试|SQL中的null值,该如何理解?
246 0
|
22天前
|
SQL 安全 算法
【SQL server】玩转SQL server数据库:第四章 数据库安全性
【SQL server】玩转SQL server数据库:第四章 数据库安全性
65 12