SQL Server中NULL=NULL

在Oracle中,NULL是不能使用=来进行判断的,而是使用IS NULL或者IS NOT NULL。

关于Oracle中的NULL,网友yangtingkun进行了一系列的总结

http://yangtingkun.itpub.net/post/468/244434

但是在SQL Server中,情况是不一样的


SQL Server中认为NULL是相等的,可以使用=操作

比如:select * from testnull where name=null

在Oracle该语法是错误的,在SQL Server中则能得到正确的结果。

我们知道,对于unique约束(索引),是允许null值,对于oracle,由于认为null<>null,unique约束下的列中可以存在多个null值,对于sql server,由于认为null=null,则unique约束列中只能存在一个null值。这样,我们从oracle导数据到sql server中就可能遇到麻烦。

没有统一的标准,受苦的就是消费者了-_-//

(需要引用, 请注明出处: http://ningoo.itpub.net)

你可能感兴趣的:(SQL Server中NULL=NULL)