怎么SET ANSI_NULLS OFF
办?
来自MSDN:
SQL-92标准要求等于(=)或不等于(<>)与空值的比较计算为FALSE.
当
SET ANSI_NULLS
为ON时,WHERE column_name = NULL
即使column_name中存在空值,SELECT语句也会返回零行.WHERE column_name <> NULL
即使column_name中存在非空值,SELECT语句也会返回零行.当
SET ANSI_NULLS
为OFF时,Equals(=)和Not Equal To(<>)比较运算符不遵循SQL-92标准.SELECT语句使用WHERE column_name = NULL
返回column_name中具有空值的行.SELECT语句使用WHERE column_name <> NULL
返回列中具有非空值的行.此外,SELECT语句使用WHERE column_name <> XYZ_value
返回非XYZ_value且不为NULL的所有行.
它改变了NULL
s的行为方式.NULL
在ANSI中产生的东西就像
NULL = NULL
- >假
NULL <> NULL
- >假
有了ANSI_NULLS
off,(NULL = NULL
) - > true.