在选择别名中包含非法字符“as”

时间:2013-01-02 08:34:26

标签: sql-server sql-server-2012

我在SQL Server中使用pivot函数。

我的选择是动态构建的并使用pivot功能。

由于我使用“as”的值中有很多guid并为其指定了一个名称 - (如果我给出从属性值生成的新名称列,则很容易维护它。)

但值包括.,空格,-+和其他非法字符。有没有办法包含这些字符?

这是一个简单的例子:

string s = 
" select MyColumn as My Attribute
  from MyTable My Table "

其中My AttributeMy Table生成名称

2 个答案:

答案 0 :(得分:3)

将这些名称括在方括号中:

string s = 
" SELECT MyColumn AS [My Attribute]
  FROM MyTable [My Table] "

答案 1 :(得分:3)

您可以使用Delimited Identifiers""[]包含(几乎)任意字符序列:

  

符合标识符格式的所有规则的标识符可以与分隔符一起使用,也可以不与分隔符一起使用。必须始终分隔不符合常规标识符格式规则的标识符。

""是否有效取决于会话的QUOTED_IDENTIFIERS设置。可能总是使用[]