尝试查找返回 0 的列的 NULL 值数量?
我的表中有一个列有几个不同的值,我使用 group by
对其进行了验证。
当我执行类似的操作时,它会返回一个数字金额:
SELECT COUNT(*) FROM table WHERE age='';
但是,当我这样做时,它总是返回 0
,即使这是不正确的:
SELECT COUNT(*) FROM table WHERE age=NULL;
知道为什么在应该返回正确结果时返回 0 吗?
I have a column in my table that has a few different values, of which I verified by using a group by
.
When I do something like this it returns a number amount:
SELECT COUNT(*) FROM table WHERE age='';
However when I do this it always returns 0
even though that is incorrect:
SELECT COUNT(*) FROM table WHERE age=NULL;
Any idea why this is returning 0 when it should be returning the correct result?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
阅读 3.3.4.6。使用 NULL 值
Read 3.3.4.6. Working with NULL Values
NULL 表示未知值,因此从技术上讲,NULL 不等于任何东西 - 包括它本身。
您应该使用
IS NULL
代替:NULL represents an unknown value, so NULL isn't technically equal to anything - including itself.
You should use
IS NULL
instead:你需要说“age IS NULL”而不是“age=null”。 NULL 不等于任何东西——这意味着没有数据并且您无法测试相等性。
You need to say "age IS NULL" not "age=null". NULL is not equal to anything -- it means there is no data and you cannot test for equality.