SET QUOTED_IDENTIFIER ON
GO
是什么意思?
?
語法
SET QUOTED_IDENTIFIER { ON | OFF }
注釋
當 SET QUOTED_IDENTIFIER
為 ON 時,標識符可以由雙引號分隔,而文字必須由單引號分隔。當
SET QUOTED_IDENTIFIER 為
OFF 時,標識符不可加引號,且必須遵守所有
Transact-SQL 標識符規(guī)則。有關更多信息,請參見使用標識符。文字可以由單引號或雙引號分隔。
當 SET QUOTED_IDENTIFIER
為 ON 時,由雙引號分隔的所有字符串都被解釋為對象標識符。因此,加引號的標識符不必遵守
Transact-SQL 標識符規(guī)則。它們可以是保留關鍵字,并且可以包含
Transact-SQL 標識符中通常不允許的字符。不能使用雙引號分隔文字字符串表達式,而必須用單引號括住文字字符串。如果單引號
(') 是文字字符串的一部分,則可以由兩個單引號
('') 表示。當對數(shù)據(jù)庫中的對象名使用保留關鍵字時,SET QUOTED_IDENTIFIER
必須為 ON。
當 SET QUOTED_IDENTIFIER
為 OFF(默認值)時,表達式中的文字字符串可以由單引號或雙引號分隔。如果文字字符串由雙引號分隔,則可以在字符串中包含嵌入式單引號,如省略號。
當在計算列或索引視圖上創(chuàng)建或操作索引時,SET QUOTED_IDENTIFIER
必須為 ON。如果
SET QUOTED_IDENTIFIER 為
OFF,則計算列或索引視圖上帶索引的表上的
CREATE、UPDATE、INSERT
和 DELETE
語句將失敗。有關計算列上的索引視圖和索引所必需的 SET
選項設置的更多信息,請參見 SET
中的"使用
SET 語句時的注意事項"。
?
?
SET ANSI_NULLS ON是什么意思?
SQL-92 標準要求在對空值進行等于 (=)
或不等于 (<>)
比較時取值為 FALSE。當
SET ANSI_NULLS 為
ON 時,即使
column_name 中包含空值,使用
WHERE column_name = NULL 的
SELECT 語句仍返回零行。即使
column_name 中包含非空值,使用
WHERE column_name <> NULL 的
SELECT 語句仍會返回零行。
當 SET ANSI_NULLS
為 OFF 時,等于
(=) 和不等于
(<>) 比較運算符不遵從
SQL-92 標準。使用
WHERE column_name = NULL 的
SELECT 語句返回
column_name 中包含空值的行。使用
WHERE column_name <> NULL 的
SELECT 語句返回列中包含非空值的行。此外,使用
WHERE column_name <> XYZ_value 的
SELECT 語句返回所有不為
XYZ_value 也不為
NULL 的行。





