MySQL IS NULL
本文介绍了 MySQL 中如何使用 IS NULL
运算符测试一个值是否 NULL
。
在 MySQL 中,NULL
是一个特殊的值,它代表什么都没有。它不是空,也不是 0
。
IS NULL
运算符用来测试一个值是不是 NULL
,如果是 NULL
返回 1
,否则返回 0
。
MySQL IS NULL 语法
IS NULL
是一个单目比较运算符,只需要一个操作数。IS NULL
运算符的语法是:
expression IS NULL
expression IS NOT NULL
说明:
expression
可以是一个字段名、一个值或者一个表达式。IS NOT NULL
是IS NULL
的否定运算。
IS NULL
和 IS NOT NULL
可以用在 SELECT
子句或者 WHERE
子句中。
MySQL IS NULL 运算规则
当 IS NULL
运算符左侧的操作数是 NULL
时,IS NULL
运算符返回 1
,否则返回 0
。
SELECT
NULL IS NULL,
0 IS NULL,
1 IS NULL,
(NULL IN (NULL)) IS NULL,
(1+1) IS NULL;
+--------------+-----------+-----------+--------------------------+---------------+
| NULL IS NULL | 0 IS NULL | 1 IS NULL | (NULL IN (NULL)) IS NULL | (1+1) IS NULL |
+--------------+-----------+-----------+--------------------------+---------------+
| 1 | 0 | 0 | 1 | 0 |
+--------------+-----------+-----------+--------------------------+---------------+
IS NOT NULL
是 IS NULL
的否定运算。如果 IS NOT NULL
左侧的操作数不是 NULL
时,IS NOT NULL
运算符返回 1
,否则返回 0
。
SELECT
NULL IS NOT NULL,
0 IS NOT NULL,
1 IS NOT NULL;
+------------------+---------------+---------------+
| NULL IS NOT NULL | 0 IS NOT NULL | 1 IS NOT NULL |
+------------------+---------------+---------------+
| 0 | 1 | 1 |
+------------------+---------------+---------------+
MySQL IS NULL 实例
在以下实例中,我们使用 Sakila 示例数据库中的 staff
表作为演示。
以下 SQL 语句使用 IS NULL
查询 staff
表中的那些没有设置密码的职员。
SELECT
first_name, last_name, password
FROM
staff
WHERE
password IS NULL;
+------------+-----------+----------+
| first_name | last_name | password |
+------------+-----------+----------+
| Jon | Stephens | NULL |
+------------+-----------+----------+
同样的,如果要查询 staff
表中的那些设置了密码的职员,请使用下面的 SQL 语句。
SELECT
first_name, last_name, password
FROM
staff
WHERE
password IS NOT NULL;
+------------+-----------+------------------------------------------+
| first_name | last_name | password |
+------------+-----------+------------------------------------------+
| Mike | Hillyer | 8cb2237d0679ca88db6464eac60da96345513964 |
+------------+-----------+------------------------------------------+
结论
在本文中,我们学习了 MySQL 中 IS NULL
和 IS NOT NULL
比较运算符的语法和用法。本文要点如下:
IS NULL
和IS NOT NULL
是单目比较运算符。- 使用
IS NULL
运算符检查一个值是否是NULL
。 IS NOT NULL
运算符是IS NULL
的否定操作。NULL IS NULL
的结果是1
。