sql server中quotename()函式的用法(轉載)
阿新 • • 發佈:2018-12-21
操作sql server尤其是寫儲存過程時,要用到各種各樣的函式,今天就總結一個quotename()的用法。
1.語法:
quotename('character_string'[,'quote_character'])
[]裡面的內容說明可以省略,預設情況下,說明用'[]'引用。
character_string,unicode字元資料構成的字串。character_string是sysname值。
quote_character,用作分隔符的單字元字串,可以是單引號(')、左方括號([)或右方括號(])或者英文雙引號(")。預設情況下啊,則使用方括號作為分隔符([ ])。
2.例項
quotename函式看分隔符預設是[ ]
在sql server中做實驗,可以得出如下結論:
select quotename('ab[]cde') 輸出結果:[ab[]]cde] select quotename('ab[]cde',']') 輸出結果:[ab[]]cde] select quotename('ab[]cde','') 輸出結果:[ab[]]cde] select quotename('ab[]cde','''') 輸出結果:'ab[]cde' select quotename('ab[]cde','}') 輸出結果:{ab[]cde} select quotename('ab{}cde','}') 輸出結果:{ab{}}cde}
請注意,字串 ab[]cde 中的右方括號有兩個,用於指示轉義符。
3.實際應用
declare @tablename varchar(8000) set @tablename='student' print 'select * from '+quotename(@tablename) exec('select * from '+quotename(@tablename))
4.總結
quotename()的主要作用就是在儲存過程中,給列名、表名等加個[]、''等以保證sql語句能正常執行。