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

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

但是在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中就可能遇到麻烦。

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