SQL查询,其中列名称包含&

时间:2011-10-27 16:15:39

标签: sql sql-server sql-server-2008 ssms

我有一个SQL Server 2008数据库,其中一列名为ES&D。我想基于该列进行查询,如下所示:

SELECT ES&D FROM myDB

或者这个:

SELECT * FROM myDB WHERE ES&D=1

但是我收到以下错误(我正在使用SQL Server Management Studio编写查询):

  

Msg 207,Level 16,State 1,Line 1
  列名称'ES'无效。
  消息207,级别16,状态1,行1   列名称“D”无效。

有没有办法逃避列名中的&,以便SQL按字面意思对待它?

1 个答案:

答案 0 :(得分:8)

是 - 将您的列名括在方括号中:

SELECT [ES&D] FROM myDB

那应该有用 - 我希望!同样适用于例如包含空格的表或列名称([Order Details]),或者是SQL关键字的对象名称,如[Order]