posts - 10, comments - 9, trackbacks - 0, articles - 17

SQL中 不等于<>的null注意

Posted on 2010-07-07 10:17 wesley1987 阅读(7291) 评论(1)  编辑  收藏

select COUNT(*) from table t WHERE t.col <> '3'


SELECT COUNT(*) FROM table t WHERE t.col NOT IN
(select t.col from table t WHERE t.col= '3')

以上两句SQL的执行结果不同, 因为 <> 在排除3的同时, 将null也排除了,
所以当比较字段含null时,第一句将比第二句的结果少.

当然第二句从效率上来说不是一个好的写法, 这样写只是为了理解, 在第一句后面, 加上 or t.col is null 应该就等效了.

Feedback

# re: SQL中 不等于的null注意[未登录]  回复  更多评论   

2012-05-18 18:25 by 111
直接 ISNULL(t.col,'')<>'3' 不更好么

只有注册用户登录后才能发表评论。


网站导航: