SET ANSI_NULLS ON 在T-SQL中是什么意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SET ANSI_NULLS ON 在T-SQL中是什么意思相关的知识,希望对你有一定的参考价值。

Transact-SQL 支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE。

通过设置 ANSI_NULLS OFF 可将此选项激活。
当 ANSI_NULLS 为 OFF 时,
如果 ColumnA 包含 Null 值,则 ColumnA = NULL 之类的比较操作会返回 TRUE;
如果 ColumnA 除了包含 NULL 外还包含某些值,则这类比较操作将返回 FALSE。
比较计算结果为 NULL 的两个表达式也会返回 TRUE。

ANSI_NULLS 设置不影响包含 NULL 的联接列。联接列中包含 NULL 的行不是结果集的一部分。

当 ANSI_NULLS 设置为 OFF 时,以下 SELECT 语句返回 Customer 表中 Region 为 Null 值的所有行:

复制代码
SELECT CustomerID, AccountNumber, TerritoryID
FROM AdventureWorks.Sales.Customer
WHERE TerritoryID = NULL

如果 SET ANSI_NULLS ON
那么 SQL 语句中, 判断 非空的写法, 要修改为:
WHERE 字段 IS NULL

因为 SET ANSI_NULLS ON 以后,
NULL = NULL 将 返回 false.


(引文)https://zhidao.baidu.com/question/291178132.html

























以上是关于SET ANSI_NULLS ON 在T-SQL中是什么意思的主要内容,如果未能解决你的问题,请参考以下文章

SET ANSI_NULLS ON ……

SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008

sql = 和<>遵循的sql-92标准的设置SET ANSI_NULLS ON

异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项

[转]SET NOCOUNT ON

SqlServer中的ANSI_NULLS和QUOTED_IDENTIFIER