dkr*_*etz 17
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的所有行.
Otá*_*cio 11
它改变了NULLs的行为方式.NULL在ANSI中产生的东西就像
NULL = NULL - >假
NULL <> NULL - >假
有了ANSI_NULLSoff,(NULL = NULL) - > true.