Имя таблицы, содержащее специальные символы '[' и ']'

Я хочу создать таблицу на сервере SQL с использованием [ ] в значке name.it означает [ ] является частью имени таблицы. Как я могу это сделать? Я использую SQL Server 2008 г2

4 ответа

Ты можешь использовать ] если вы заключите имя таблицы в двойные кавычки:

create table "[Mu]Ha[Ha]" (id int);

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

Вы можете создать таблицу (или имена столбцов), используя [] в этом, но это считается плохой практикой.

CREATE TABLE "tabl[eO]ne" (ID int NOT NULL)

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

в SQL люди используют скобки вокруг имени таблицы / столбца, если имя содержит пробелы или определенный специальный символ, как в примере ниже:

CREATE TABLE [Table One]
CREATE TABLE [Table-One]
CREATE TABLE [Table_One]
CREATE TABLE [Table*One]
...

Это все еще не очень хорошая практика, но она следует руководящим принципам "лучшей практики".

Лучшая практика: избегайте использования специальных символов, цифр или пробелов в имени таблицы / столбца.

Вы можете преодолеть это с помощью двойной скобки. увидеть ниже:

CREATE TABLE dbo.[[tbl]]](id INT)

Заключите в квадратные скобки. Но это не очень хорошая практика ["name[a]abc"]

Другие вопросы по тегам