--
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关键字的情况,即用该函数规范对象名,以便程序顺利运行
*/