PostgreSQL IS NULL 运算符用法与实例
本文介绍了在 PostgreSQL 中如何使用 IS NULL
运算符检查一个值是不是 NULL
。
PostgreSQL IS NULL
是一个布尔运算符,它检查一个值是不是 NULL
。 NULL
值是一个特殊的值,它表示什么都没有,它即不是空字符串也不是假(false)。
PostgreSQL IS NULL 语法
PostgreSQL IS NULL
是一个单目比较运算符,只需要一个操作数。IS NULL
运算符的语法是:
expr IS NULL
expr IS NOT NULL
说明:
expr
可以是一个字段名、一个值或者一个表达式。IS NOT NULL
是IS NULL
的否定运算。
IS NULL
和 IS NOT NULL
可以用在 SELECT
语句或者 WHERE
子句中。
PostgreSQL IS NULL
运算规则
当 PostgreSQL IS NULL
运算符左侧的操作数是 NULL
时,IS NULL
运算符返回 t
,否则返回 f
。
SELECT
NULL IS NULL "NULL IS NULL",
0 IS NULL "0 IS NULL",
1 IS NULL "1 IS NULL";
NULL IS NULL | 0 IS NULL | 1 IS NULL
--------------+-----------+-----------
t | f | f
IS NOT NULL
是 IS NULL
的否定运算。如果 IS NOT NULL
左侧的操作数不是 NULL
时,IS NOT NULL
运算符返回 t
,否则返回 f
。
SELECT
NULL IS NOT NULL "NULL IS NOT NULL",
0 IS NOT NULL "0 IS NOT NULL",
1 IS NOT NULL "1 IS NOT NULL";
NULL IS NOT NULL | 0 IS NOT NULL | 1 IS NOT NULL
------------------+---------------+---------------
f | t | t
PostgreSQL IS NULL 实例
我们将使用 Sakila 示例数据库 中的表进行演示,请您先在 PostgreSQL 中安装 Sakila 示例数据库。
在 Sakila 示例数据库中, staff
表存储了 DVD 租赁商店中的职员信息。
在 staff
表中, picture
中存储了职员的照片文件,
要从 staff
表中查询那些没有上传图片的职员, 需要检查 picture
是否为 NULL
, 请使用以下带有 IS NULL
的 SQL 语句:
SELECT
first_name, last_name, picture
FROM
staff
WHERE
picture IS NULL;
first_name | last_name | picture
------------+-----------+---------
Mike | Hillyer | <null>
Jon | Stephens | <null>
结论
在本文中,我们学习了 PostgreSQL 中 IS NULL
和 IS NOT NULL
比较运算符的语法和用法。本文要点如下:
IS NULL
和IS NOT NULL
是单目比较运算符。- 使用
IS NULL
运算符检查一个值是否是NULL
。 IS NOT NULL
运算符是IS NULL
的否定操作。NULL IS NULL
的结果是真。