MySQL查询返回“空集”,为什么?

时间:2019-02-06 03:39:26

标签: mysql sql

为什么以下查询返回空集?

SELECT * 
   FROM null_test_tab 
   WHERE col1 = NULL
   ORDER BY id

结果:

Empty set

2 个答案:

答案 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