ANSI NULLS

来自 MSDN

在 SQL Server 的未来版本中,ANSI_NULLS 将始终为 ON,并且将选项明确设置为 OFF 的任何应用程序都将生成错误。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

ANSI NULLS 设置为 off 允许对空值进行 = / <> 比较。

鉴于以下数据:

id someVal
 ----
 0 NULL
 1 1
 2 2

使用 ANSI NULLS,此查询:

 SELECT id
 FROM table
 WHERE someVal = NULL

不会产生任何结果。但是同样的查询,ANSI NULLS 关闭:

 set ansi_nulls off

 SELECT id
 FROM table
 WHERE someVal = NULL

将返回 id 0