Граница слов в большинстве диалектов регулярных выражений - это позиция между \w
и \W
(неглавным символом) или в начале или конце строки, если она начинается или заканчивается (соответственно) словом ([0-9A-Za-z_]
).
Итак, в строке "-12"
она будет соответствовать до 1 или после 2. Черточка не является символом слова.
Скобки необходимы, если вы используете ключевые слова или специальные символы в именах столбцов или идентификаторах. Вы можете назвать столбец [First Name]
(с пробелом), но тогда вам нужно будет использовать скобки каждый раз, когда вы ссылаетесь на этот столбец.
Новые инструменты добавляют их повсюду на всякий случай или для последовательность.
Независимо от следующего соглашения об именах, которое позволяет избежать использования зарезервированных слов, Microsoft добавляет новые зарезервированные слова. Использование скобок позволяет обновить ваш код до новой версии SQL Server, без необходимости вносить новые зарезервированные слова Microsoft из вашего клиентского кода. Это редактирование может быть серьезной проблемой. Это может привести к преждевременному выходу вашего проекта ....
Кронштейны также могут быть полезны, если вы хотите заменить все в сценарии. Если ваша партия содержит переменную с именем @String и столбец с именем [String], вы можете переименовать столбец в [NewString], не переименовывая @String в @NewString.
Они удобны, если ваши столбцы имеют те же имена, что и ключевые слова 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
Короче говоря, это способ явно объявить имя объекта; столбец, таблица, база данных, пользователя или сервера.
Кроме того, некоторые базы данных Sharepoint содержат дефисы в своих именах. Использование квадратных скобок в SQL-выражениях позволяет правильно обрабатывать имена.
Я считаю, что он добавляет их туда для согласованности ... они нужны только тогда, когда у вас есть пробел или специальный символ в имени столбца, но чище просто включать их все время, когда среда IDE генерирует SQL.
В темные времена SQL в 1990-х годах это была хорошая практика, поскольку разработчики SQL пытались добавить каждое слово в словаре как ключевое слово для бесконечной лавины новых функций, и они назвали его проектом SQL3.
Таким образом, он поддерживает совместимость.
И я обнаружил, что у него есть другой приятный побочный эффект, он очень помогает, когда вы используете grep в обзорах кода и рефакторинге.
Скобки могут использоваться, когда имена столбцов являются зарезервированными словами.
Если вы программно генерируете инструкцию SQL из коллекции имен столбцов, которую вы не контролируете, вы можете избежать проблем, всегда используя скобки.
Имена столбцов могут содержать символы и зарезервированные слова, которые смущают механизм выполнения запросов, поэтому размещение скобок вокруг них всегда предотвращает это. Я думаю, что проще, чем проверять проблему, а затем работать с ней.