SQLite IS NULL
IS NULL 运算符
NULL 比较特殊,表示某条信息未知或者不适用。 例如,有些歌曲可能没有词曲作者信息,因为我们不知道是谁写的。 要将这些未知的词曲作者与歌曲一起存储在数据库表中,我们必须使用 NULL。NULL 不等于任何东西,甚至不等于数字零、空字符串等等。 NULL 不等于其自身。以下表达式返回 0:
NULL = NULL
这是因为两个未知的信息无法比较。

以下语句尝试查找作曲家为 NULL 的曲目:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer = NULL;
它返回一个空行而不发出任何其他消息。
这是因为以下表达式的计算结果始终为假:
Composer = NULL
以这种方式使用 NULL 是无效的。
要检查某个值是否为 NULL,可以使用 IS NULL 运算符:
{ column | expression } IS NULL;
如果列或表达式计算结果为 NULL,则 IS NULL 运算符返回 1。
要查找所有作曲家未知的曲目,可以使用 IS NULL 运算符,如以下查询所示:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NULL
ORDER BY
Name;
SQLite IS NOT NULL 运算符
NOT 运算符是 IS NULL的取反。
expression | column IS NOT NULL
如果表达式或列不为 NULL,则 IS NOT NULL 运算符返回 1;如果表达式或列为 NULL,则返回 0。
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NOT NULL
ORDER BY
Name;
下图显示了部分输出:

在本教程中,您学习了如何使用 IS NULL 和IS NOT NULL运算符检查列或表达式中的值是否为 NULL。
浙公网安备 33010602011771号