比如说我有个表:test1.里面有几个字段,有个字段比如说是aa。aa里面的值有的是null的。
数据假设是100条,其中aa为null的有50条,aa等于ss的有10条。
我select * from test1 where aa != 'ss'时。为什么结果是40条不是90条?
难道是aa作为查询条件的时候本身就被判断为不能为null了吗
不知道说清楚没有,办公环境上不了网,这是上网机,辛苦大家了。
...全文
67911打赏收藏
请教一个sql的问题,字段作为查询条件的时候是否自动判断不能为null
比如说我有个表:test1.里面有几个字段,有个字段比如说是aa。aa里面的值有的是null的。 数据假设是100条,其中aa为null的有50条,aa等于ss的有10条。 我select * from test1 where aa != 'ss'时。为什么结果是40条不是90条? 难道是aa作为查询条件的时候本身就被判断为不能为null了吗 不知道说清楚没有,办公环境上不了网,这是上网机,辛苦大家了。
oracle里面null不能与任何值除了自己。
可以试试
select * from dual where null is null;
select * from dual where null != null;
select * from dual where null is not null;
select * from dual where null = '';
select * from dual where null != '';
看玩这个你就会明白了