SQL Server - SET ANSI_NULLS ON/OFF

  • 76
  • 0

SET ANSI_NULLS ON/OFF 功能用法

SET ANSI_NULLS ON
SET ANSI_NULLS OFF

指定在 SQL Server 中與 Null 值一起使用時,等於 (=) 和不等於 (<>) 比較運算子採用的 ISO 標準行為。

布林運算式SET ANSI_NULLS ONSET ANSI_NULLS OFF
NULL = NULLUNKNOWNTRUE
1 = NULLUNKNOWNFALSE
NULL <> NULLUNKNOWNFALSE
1 <> NULLUNKNOWNTRUE
NULL > NULLUNKNOWNUNKNOWN
1 > NULLUNKNOWNUNKNOWN
NULL IS NULLTRUETRUE
1 IS NULLFALSEFALSE
NULL IS NOT NULLFALSEFALSE
1 IS NOT NULLTRUETRUE

補充:

  1. ANSI SQL:
    • SQL在1986年成為美國國家標準學會(ANSI)的一項標準,在1987年成為國際標準化組織(ISO)的標準。
    • ANSI 所公布的SQL標準,陸陸續續有:SQL-86, SQL-89, SQL-92, 並在1993(SQL3), 2003, 2008,2011, 2016 有修訂推出。
    • ANSI對SQL標準演進過程的一些說明。鏈結
  2. T-SQL:
    • Transact-SQL (T-SQL),是在Microsoft SQL Server和Sybase SQL Server上,對ANSI SQL標準的實作。
    • 目前Microsoft實作的Transact-SQL可支援到ANSI SQL-92標準。

參考:

微軟ANSI ON/OFF介紹

Transact-SQL維基百科