我不明白为什么这个查询无效。
我有一个充满行的表格,其中3个列值设置为NULL
。
但是当我运行以下查询时,它返回0(它应该返回96)
SELECT COUNT(*) FROM SEAT WHERE BOOKED=null;
你知道我做错了吗?
答案 0 :(得分:1)
您必须使用IS NULL
代替= null
由于null在技术上不是一个值,因此您无法使用=
运算符比较null。
答案 1 :(得分:1)
使用IS NULL
SELECT COUNT(*)
FROM SEAT
WHERE BOOKED IS NULL
答案 2 :(得分:1)
这取决于您的数据库设置和您使用的特定RDBMS,但如果您使用的是ANSI NULL语法,则无法使用相等性测试(=
)直接将值与NULL进行比较 - 它将始终失败
改为使用WHERE BOOKED IS NULL
。