OpenCoder

操作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)  

declare @sql varchar(8000)=\'select * from \'+quotename(@tablename)
exec(@sql)

 

4.总结
quotename()的主要作用就是在存储过程中,给列名、表名等加个[]、\'\'等以保证sql语句能正常执行。

 

 

原文链接

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-04
  • 2022-12-23
  • 2021-09-17
  • 2021-08-08
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
  • 2022-02-02
  • 2021-05-23
  • 2021-08-28
  • 2022-02-10
相关资源
相似解决方案