SQL学习笔记之二:QUOTENAME函数
--SQL学习笔记二
--函数QUOTENAME
--功能:返回带有分隔符的Unicode 字符串,分隔符的加入可使输入的字符串成为有效的Microsoft SQL Server 2005 分隔标识符。
--语法
QUOTENAME ( 'character_string' [ , 'quote_character' ] )
--举例说明:
--比如你有一个表,名字叫index
--你有一个动态查询,参数是表名
declare @tbname varchar(256)
set @tbname='index'
---查这个表里的数据:
print('select * from '+@tbname)
exec('select * from '+@tbname)
--这样print出来的数据是
select * from index
--因为index是字键字,肯定出错,加上括号就可以了:
select * from [index]
--这便有了QUOTENAME,即:
print('select * from '+QUOTENAME(@tbname))
--结果:select * from [index]
exec('select * from '+QUOTENAME(@tbname))
--结论
/*
初步理解为解决有些对象是SQLSERVER关键字的情况,即用该函数规范对象名,以便程序顺利运行
*/
--函数QUOTENAME
--功能:返回带有分隔符的Unicode 字符串,分隔符的加入可使输入的字符串成为有效的Microsoft SQL Server 2005 分隔标识符。
--语法
QUOTENAME ( 'character_string' [ , 'quote_character' ] )
--举例说明:
--比如你有一个表,名字叫index
--你有一个动态查询,参数是表名
declare @tbname varchar(256)
set @tbname='index'
---查这个表里的数据:
print('select * from '+@tbname)
exec('select * from '+@tbname)
--这样print出来的数据是
select * from index
--因为index是字键字,肯定出错,加上括号就可以了:
select * from [index]
--这便有了QUOTENAME,即:
print('select * from '+QUOTENAME(@tbname))
--结果:select * from [index]
exec('select * from '+QUOTENAME(@tbname))
--结论
/*
初步理解为解决有些对象是SQLSERVER关键字的情况,即用该函数规范对象名,以便程序顺利运行
*/