Heinzi Asked: 2014-08-23 00:13:13 +0800 CST2014-08-23 00:13:13 +0800 CST 2014-08-23 00:13:13 +0800 CST 表级 ANSI_NULL 设置有什么相关性? 772 显然,SQL Server 在创建表时存储当前的 ANSI_NULL 设置(请参阅此处和此处的相关问题)。 但是,当我执行 SELECT * FROM myVeryOldTable WHERE someFieldWithNullValues = NULL 我得到零结果,即使旧表是使用 ANSI_NULL OFF 创建的。因此,显然,SQL Server 使用当前的连接设置,即 ANSI_NULL ON。 如果是这样,存储在表中的设置有什么区别(除了在各种情况下会造成麻烦)?如果连接设置总是覆盖表设置,为什么要存储它呢? sql-server t-sql 1 个回答 Voted Best Answer David Spillett 2014-08-23T00:36:44+08:002014-08-23T00:36:44+08:00 表级 ANSI_NULLS 设置对于自动表级操作很重要,例如在处理计算列时。这也适用于其他对象,例如触发器(如此处所示)。 对于针对表的操作(即查询中的比较),连接适用 - 如果您不期望您主动执行的操作与自动操作之间的行为有所不同,这可能会非常混乱。
表级 ANSI_NULLS 设置对于自动表级操作很重要,例如在处理计算列时。这也适用于其他对象,例如触发器(如此处所示)。
对于针对表的操作(即查询中的比较),连接适用 - 如果您不期望您主动执行的操作与自动操作之间的行为有所不同,这可能会非常混乱。