Sql server 在“选择别名”中包含非法字符;作为「;

Sql server 在“选择别名”中包含非法字符;作为「;,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我正在SQL Server中使用pivot函数 My select是动态构建的,并使用pivot函数 由于在我使用“as”并为其指定名称的值中有大量guid-(如果我为从属性值生成的列指定新名称,则很容易维护它。) 但是这些值包括、空格、-、+和其他非法字符。有没有办法包含这些字符 下面是一个简单的例子: string s = " select MyColumn as My Attribute from MyTable My Table " 其中My Attribute和My Table

我正在SQL Server中使用pivot函数

My select是动态构建的,并使用pivot函数

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

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

下面是一个简单的例子:

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

其中
My Attribute
My Table
是生成的名称

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

string s = 
" SELECT MyColumn AS [My Attribute]
  FROM MyTable [My Table] "
您可以使用,它使用
[]
包含(几乎)任意字符序列:

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

是否有效取决于会话的
标识符设置<代码>[]
可以始终使用