Имя столбца SQL со знаком решетки

avatar
Math2Hard
8 апреля 2018 в 01:58
1667
3
1

Я новичок в SQL, и недавно у меня возникли проблемы при работе с моей таблицей, которая содержит имя столбца 'S#'. Итак, что у меня сейчас есть, это

   SELECT S#, SNAME FROM S WHERE CITY = 'London'; 

но часть S# выдает ошибку оператора. Я пробовал использовать его как varchar и делать [S#], но ничего не работает. Любая помощь будет оценена по достоинству.

Спасибо

Источник

Ответы (3)

avatar
Gordon Linoff
8 апреля 2018 в 02:00
1

Используйте обратные кавычки или двойные кавычки, чтобы экранировать имя:

SELECT `S#`, SNAME
FROM S
WHERE CITY = 'London'; 

При разработке собственных баз данных не используйте такие символы в именах. Используйте буквы, цифры и символы подчеркивания.

avatar
Ankit Jindal
23 марта 2021 в 04:11
1

Использование обратных, двойных и одинарных кавычек в любой базе данных MySQL можно свести к двум пунктам:

  • Кавычки (одиночные и двойные) используются вокруг строк.
  • Обратные кавычки используются вокруг идентификаторов таблиц и столбцов.

Использование обратных кавычек в запросе,

SELECT `S#`, SNAME
FROM S
WHERE CITY = 'London';

Эти обратные кавычки называются идентификаторами в кавычках, и они сообщают синтаксическому анализатору обработать текст между ними как литеральную строку. Они полезны, когда у вас есть столбец или таблица, содержащие ключевое слово, пробел или какой-либо специальный символ.

avatar
Yiran Guo
23 марта 2021 в 03:25
-1

В моем случае обратные кавычки вокруг имени столбца работают, но двойные кавычки не работают.

Ankit Jindal
24 марта 2021 в 04:39
0

Добавьте больше деталей к вашему ответу.