Я заметил, что Visual Studio 2008 помещает квадратные скобки вокруг имен столбцов в sql. Есть ли в скобках преимущество? Когда я передаю код T-SQL, я никогда не беспокоился о них.
Пример:
Visual Studio:
SELECT [column1], [column2] etc...
Мой собственный путь:
SELECT column1, column2 etc...
sql-server
syntax
Paulj
источник
источник
"
), которые также поддерживает Microsoft . Если бы Microsoft чувствовала необходимость разграничить все, было бы лучше использовать вместо нее стандартные двойные кавычки. Но я думаю, это сделало бы слишком легким портирование на другую СУБД, и это никогда неОтветы:
Скобки требуются, если вы используете ключевые слова или специальные символы в именах столбцов или идентификаторах. Вы можете назвать столбец
[First Name]
(с пробелом) - но тогда вам нужно будет использовать скобки каждый раз, когда вы ссылаетесь на этот столбец.Новые инструменты добавляют их везде на всякий случай или для согласованности.
источник
select
ноselect select from mytable
выдаст ошибку, чтобыselect [select] from mytable
сделать его действительным запросом. Какое бы слово ни стало красочным в вашей студии управления SQL, его следует заключить в квадратные скобки, если вы хотите использовать их в качестве имен столбцов / таблиц / sp / и т. Д. В MySQL угловые одинарные кавычки `` `` были бы эквивалентом этого.Они удобны, если ваши столбцы имеют те же имена, что и ключевые слова SQL, или в них есть пробелы.
Пример:
о нет! Неверный синтаксис рядом с ключевым словом «пользователь». Но это:
Работает отлично.
источник
Они полезны, если вы (по какой-то причине) используете имена столбцов с определенными символами, например.
не будет работать, но квадратные скобки вокруг названия столбца будут работать
Короче говоря, это способ явного объявления имени объекта; столбец, таблица, база данных, пользователь или сервер.
источник
Имена столбцов могут содержать символы и зарезервированные слова, которые могут запутать механизм выполнения запросов, поэтому размещение скобок вокруг них всегда предотвращает это. Я полагаю, проще, чем проверять проблему, а затем заниматься ею.
источник
Скобки можно использовать, когда имена столбцов являются зарезервированными словами.
Если вы программно генерируете оператор SQL из набора имен столбцов, которые вы не контролируете, то вы можете избежать проблем, всегда используя скобки.
источник
Независимо от соблюдения соглашения об именах, в котором не используются зарезервированные слова, Microsoft добавляет новые зарезервированные слова. Использование скобок позволяет обновить ваш код до новой версии SQL Server, без необходимости сначала редактировать недавно зарезервированные слова Microsoft из вашего клиентского кода. Это редактирование может быть серьезной проблемой. Это может привести к преждевременному выходу на пенсию вашего проекта ....
Скобки также могут быть полезны, когда вы хотите заменить все в сценарии. Если ваш пакет содержит переменную с именем @String и столбец с именем [String], вы можете переименовать столбец в [NewString], не переименовывая @String в @NewString.
источник
Во времена мрачного века SQL в 1990-х годах это была хорошая практика, так как разработчики SQL пытались добавить каждое слово в словарь в качестве ключевого слова для бесконечной лавины новых функций, и они назвали его черновиком SQL3.
Так что это поддерживает прямую совместимость.
И я обнаружил, что у него есть еще один приятный побочный эффект, он очень помогает, когда вы используете grep в обзорах кода и рефакторинге.
источник
Кроме того, некоторые базы данных Sharepoint содержат дефисы в своих именах. Использование квадратных скобок в выражениях SQL позволяет правильно анализировать имена.
источник
Я считаю, что он добавляет их туда для согласованности ... они требуются только в том случае, если у вас есть пробел или специальный символ в имени столбца, но удобнее включать их все время, когда IDE генерирует SQL.
источник