今天做数据统计碰到一个问题,以前一直没注意。情况如下:
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')<>‘上海'