为什么以下查询返回空集?
SELECT *
FROM null_test_tab
WHERE col1 = NULL
ORDER BY id
结果:
Empty set
答案 0 :(得分:5)
表达式应为col is null
。与null
(例如col = null
)进行算术比较的结果为空。
看看:https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html
答案 1 :(得分:2)
尝试一下:
SELECT *
FROM null_test_tab
WHERE col1 IS NULL ORDER BY id
在这里,NULL表示“缺少未知值”。
要测试NULL,请使用IS NULL和IS NOT NULL运算符。
您不能使用=,<或<>等算术比较运算符来测试NULL。
有关更多详细信息,请参见mySQL文档中的以下内容
https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html
https://dev.mysql.com/doc/refman/8.0/en/problems-with-null.html