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