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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM