Origin

Origin

马上订阅 Origin RSS 更新: https://blog.singee.me/atom.xml

再看看 SQL 中的 null

2025年10月16日 13:52

NULL 与任何值的运算结果都是 NULL

NULL 有一个很重要的特性:NULL 与任何值的运算结果都是 NULL

1
2
3
4
5
SELECT 1 = 1; -- true
SELECT 1 = NULL; -- null
SELECT NULL = NULL; -- null
SELECT 1 != NULL; -- null
SELECT NULL != NULL; -- null

这也就意味着,对于存在列 col BOOLEAN NULLABLE 的表,如果一行中 col 列的值为 NULL,则下面的四条查询都不会包含这行

1
2
3
4
5
6
7
-- 等于自不必说
SELECT * FROM "table" WHERE col = true;
SELECT * FROM "table" WHERE col = false;

-- 但不等于也不会包括值为 null 的行
SELECT * FROM "table" WHERE col != true;
SELECT * FROM "table" WHERE col != false;

剩余内容已隐藏

查看完整文章以阅读更多