SQL-запрос, где имя столбца содержит & - PullRequest
2 голосов
/ 27 октября 2011

У меня есть база данных SQL Server 2008 со столбцом с именем ES&D. Я хочу сделать запрос на основе этого столбца следующим образом:

SELECT ES&D FROM myDB

Или это:

SELECT * FROM myDB WHERE ES&D=1

Но я получаю следующую ошибку (я использую SQL Server Management Studio для написания запросов):

Сообщение 207, Уровень 16, Состояние 1, Строка 1
Неверное имя столбца 'ES'.
Сообщение 207, Уровень 16, Состояние 1, Строка 1
Неверное имя столбца 'D'.

Есть ли способ избежать & в имени столбца, чтобы SQL воспринимал его буквально?

1 Ответ

8 голосов
/ 27 октября 2011

Да - заключите название столбца в квадратные скобки:

SELECT [ES&D] FROM myDB

Это должно сработать - я надеюсь! То же самое касается, например, имена таблиц или столбцов с пробелами в них ([Order Details]) или имена объектов, являющиеся ключевыми словами SQL, например [Order] таблица

...