DECLARE @STR VARCHAR(10) SET @STR='''' SELECT @STR AS RESULT /* RESULT ---------- ' */ SET @STR='''''' SELECT @STR AS RESULT /* RESULT ---------- '' */
--當 SET QUOTED_IDENTIFIER 為 ON 時,標識符可以由雙引號分隔,而文字必須由單引號分隔 --當 SET QUOTED_IDENTIFIER 為 OFF(默認值)時,表達式中的文字字符串可以由單引號或雙引號分隔 SET QUOTED_IDENTIFIER ON --SELECT "1" --"為標識定界符,1理解為標識符,等價于 --SELECT [1] --即1為列名之類的數(shù)據(jù)庫對象 /* 消息 207,級別 16,狀態(tài) 1,第 2 行 列名 '1' 無效。 */ SELECT '1' --'為字串定界符,這里1為字串值 /* 1 */ SELECT "id" FROM xx --"為標識定界符 /* id 1 2 3 */ --等價于 SELECT [id] FROM xx /* id 1 2 3 */ SET QUOTED_IDENTIFIER OFF SELECT "1" --"用作字串定界符,這里1為字串值,等價于 /* 1 */ SELECT '1' /* 1 */ SELECT "id" FROM xx --因為在OFF狀態(tài)下,"成為了字串定界符,因此這里不會選出id列,而會是常量字串,"id"是字串值 /* id id id 表xx里有三條記錄 */