Что такое использование квадратных скобок [] в SQL-операторах?



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



пример:
Визуальная Студия:
Выберите [столбец1], [столбец2] и т. д...



мой собственный путь:
Выберите столбец1, столбец2 и т. д...

1274   9  

9 ответов:

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

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

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

пример:

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

О нет! Неверный синтаксис рядом с ключевым словом "пользователь". Но вот что:

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

работает нормально.

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

Select First Name From People

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

Select [First Name] From People

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

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

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

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

В дополнение Некоторые базы данных Sharepoint содержат дефисы в своих именах. Использование квадратных скобок в инструкциях SQL позволяет правильно анализировать имена.

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

независимо от соблюдения соглашения об именах, которое позволяет избежать использования зарезервированных слов, Microsoft добавляет новые зарезервированные слова. Использование скобок позволяет обновить код до новой версии SQL Server, не редактируя предварительно зарезервированные слова Microsoft из клиентского кода. Это редактирование может быть серьезной проблемой. Это может привести к преждевременной отставке вашего проекта....

скобки также могут быть полезны, когда вы хотите заменить все в скрипте. Если ваша партия содержится в переменной с именем @строка и столбец с именем [строки], вы можете переименовать столбец [NewString], без переименования @строка @NewString.

в темные века SQL в 1990-х годах это была хорошая практика, поскольку дизайнеры SQL пытались добавить каждое слово в словарь в качестве ключевого слова для бесконечной лавины новых функций, и они назвали его проектом SQL3.

таким образом, он сохраняет совместимость вперед.

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

Comments

    Ничего не найдено.