平时经常会遇到这两种写法:IS NOT NULL与!=NULL。也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合。实际上,是由于对二者使用区别理解不透彻。
默认情况下,推荐使用 IS NOT NULL去做条件判断,因为sql默认情况下对WHERE XX!= Null的判断会永远返回0行,却不会提示语法错误。
这是为什么呢?
SQL Server文档中对Null值的比较运算定义了两种规则,如在SQL Server 2000中:
规则一是是ANSISQL(SQL-92)规定的Null值的比较取值结果都为False,既Null=Null取值也是False。另一种不准循ANSISQL标准,即Null=Null为True。:
例如数据表test结构:
复制代码
代码如下:ROWNUM>
复制代码
代码如下:SELECT * From test WHERE>














发表评论