我有一个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按字面意思对待它?
答案 0 :(得分:8)
是 - 将您的列名括在方括号中:
SELECT [ES&D] FROM myDB
那应该有用 - 我希望!同样适用于例如包含空格的表或列名称([Order Details]
),或者是SQL关键字的对象名称,如[Order]
表