1. 程式人生 > >sql server中quotename()函式的用法(轉載)

sql server中quotename()函式的用法(轉載)

操作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語句能正常執行。

 

 

原文連結