今天做数据统计碰到一个问题,以前一直没注意。情况如下:
select id, name,addr from table where addr<> ‘上海’;
执行这个语句时,返回结果数据量很少;然后查看下好多addr为null的记录没有查询出来。
后来发现原来null只能通过is null或者is not null来判断,其它操作符与null操作都是false。
修改语句如下:
select id, name,addr from table where addr<> ‘上海’ or addr is null;
或者
select
* from test where nvl(addr,'xx')<>‘上海'
本文介绍了一种在SQL查询中正确处理NULL值的方法。当尝试排除特定值的同时不遗漏NULL值时,通常的比较运算符可能无法达到预期效果。文章通过实例展示了如何使用IS NULL或NVL函数来确保NULL值被正确地纳入查询结果。
481

被折叠的 条评论
为什么被折叠?



