sql server單引號和雙引號的區別


--當 SET QUOTED_IDENTIFIER 為 ON 時,標識符可以由雙引號分隔,而文字必須由單引號分隔
--當 SET QUOTED_IDENTIFIER 為 OFF(默認值)時,表達式中的文字字符串可以由單引號或雙引號分隔

SET QUOTED_IDENTIFIER ON

--SELECT "1" --"為標識定界符,1理解為標識符,等價於
--SELECT [1] --即1為列名之類的數據庫對象
/*
消息 207,級別 16,狀態 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狀態下,"成為了字串定界符,因此這里不會選出id列,而會是常量字串,"id"是字串值
/*
id
id
id
表xx里有三條記錄
*/

 


免責聲明!

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



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