用sql查询某个字段为空时,用“ IS NULL”,为何查不出结果
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
因为一般情况下将任何值(包括NULL本身)与NULL做比较的时候,都会返回UnKnown。而在查询表达式中(比如where与having中),UnKnown会视为false。所以select * from 表 where 字段=null查不到正确的结果。
在sql中要查询某列值为null的所有结果集时,查询条件应该这样写:
select * from 表 where 字段 is null
扩展资料:
注意事项
并不是在所有场情下UnKnown都会视为false来处理,在check约束中,UnKnown就会视为true来处理。这就是为什么设置某个字段的值必须大于等于0的情况下,还可以往该字段中插入Null值,那是因为在check约束中null>=0的逻辑结果UnKnown会被当作true来处理。
需要注意的是,在分组子句与排序子句中,sql视null是相等的,即:
1、GROUP BY会把所有NULL值分到一组。
2、ORDER BY会把所有NULL值排列在一起。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询