Какая польза от квадратных скобок [] в операторах sql?

Я заметил, что Visual Studio 2008 помещает квадратные скобки вокруг имен столбцов в sql. Есть ли в скобках преимущество? Когда я передаю код T-SQL, я никогда не беспокоился о них.

Пример:

Visual Studio:

SELECT [column1], [column2] etc...

Мой собственный путь:

SELECT column1, column2 etc...
147
задан Blorgbeard 12 July 2019 в 16:52
поделиться

6 ответов

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

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

162
ответ дан Michael Haren 12 July 2019 в 16:52
поделиться

Они удобны, если Ваши столбцы имеют те же имена как ключевые слова SQL или имеют пробелы в них.

Пример:

create table test ( id int, user varchar(20) )

О нет! Неправильный синтаксис около ключевого слова 'пользователь'. Но это:

create table test ( id int, [user] varchar(20) )

Хорошо работает.

51
ответ дан Blorgbeard 12 July 2019 в 16:52
поделиться

Имена столбцов могут содержать символы и зарезервированные слова, которые перепутают механизм выполнения запросов, таким образом помещать скобки вокруг них в любом случае предотвращает это. Легче, чем проверка проблему и затем контакт с нею, я предполагаю.

6
ответ дан Will 12 July 2019 в 16:52
поделиться

Они полезны, если Вы (по некоторым причинам) используете имена столбцов с определенными символами, например.

Select First Name From People

не работал бы, но помещающий квадратные скобки вокруг имени столбца будет работать

Select [First Name] From People

Короче говоря, это - способ явного объявления имени объекта; столбец, таблица, база данных, пользователь или сервер.

12
ответ дан GateKiller 12 July 2019 в 16:52
поделиться

Я полагаю, что это добавляет их там для непротиворечивости..., они только требуются, когда у Вас есть пробел или специальный символ в имени столбца, но это более чисто, чтобы просто включать их все время, когда IDE генерирует SQL.

3
ответ дан Jeff Donnici 12 July 2019 в 16:52
поделиться

Скобки могут использоваться, когда имена столбцов являются зарезервированными словами.

, Если Вы программно генерируете SQL-оператор от набора имен столбцов, Вы не управляете, тогда можно избежать проблем, всегда используя скобки.

5
ответ дан Torlack 12 July 2019 в 16:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: