SET QUOTED_IDENTIFIER OFF語句的做用 轉載

SET QUOTED_IDENTIFIER ON
SELECT * FROM "USER"    WHERE a='netasp' 

SET QUOTED_IDENTIFIER ON
SELECT * FROM [USER] WHERE a='netasp' 

SET QUOTED_IDENTIFIER OFF
SELECT * FROM [USER]    WHERE a="netasp" 

SET QUOTED_IDENTIFIER OFF
SELECT * FROM [USER]    WHERE a= 'netasp'

  當在數據庫中新建一個名字是USER的表的時候,經常會帶來一些麻煩,由於USER是SQL中的關鍵字,可是上面的幾個語句不會報錯。再說一個概念:標示符是SQL中的中括號[]。數據庫

  當SET QUOTED_IDENTIFIER值爲ON時,雙引號內的字符被看成是數據庫對象。就是說雙引號" "和標識符[]效果是同樣樣的,他們都表示引用的字符是數據庫對象。單引號'表示字符串的邊界。spa

  當SET QUOTDE_IDENTIFIER OFF時,雙引號被解釋爲字符串的邊界,和單引號的做用是相似的。就是說雙引號"不能當作標識符使用,可是能夠當作字符邊界,和單引號'的效果是同樣樣的。code

  能夠作一個總結:當SET QUOTED_IDENTIFIER ON " "等同於[ ] 表示數據庫對象;當SET QUOTED_IDENTIFIER OFF " "等同於' '表示字符串邊界;還有這裏的雙引號" 並非兩個單引號'合起來的,是shift+」打出來的,初學者可能會犯這樣的錯誤。對象

相關文章
相關標籤/搜索