Что делают скобки в выражении sql?
Например, в заявлении:
insert into table1 ([columnname1], columnname2) values (val1, val2)
Кроме того, что он делает, если имя таблицы находится в скобках?
Лучшее название для этого. Кто, впервые встретив скобки, станет искать «любопытство»?
Тем более, что «любопытство» даже не слово.
Ха! Сумасшедшие кануки и их лишние буквы. :-п


Они предназначены для экранирования зарезервированных ключевых слов или недопустимых идентификаторов столбцов.
CREATE TABLE test
(
[select] varchar(15)
)
INSERT INTO test VALUES('abc')
SELECT [select] FROM test
[] Обозначает разделение идентификатора, поэтому, если у вас есть столбец, имя которого содержит пробелы, такие как Order Qty, вам необходимо заключить его в [], например:
select [Order qty] from [Client sales]
Они также должны избегать зарезервированных ключевых слов, используемых в качестве идентификаторов.
Это просто разделители, которые позволяют вставлять специальные символы (например, пробелы) в имя столбца или таблицы. например
insert into [Table One] ([Column Name 1], columnname2) values (val1, val2)
Все, что находится в скобках, считается одним идентификатором (например, [тестовая машина]. Его можно использовать для заключения имен в пробелы или для экранирования резервных слов (например, [порядок], [выбор], [группа]).
Они позволяют использовать ключевые слова (например, датировать) в имени столбца, таблицы и т. д.
Поскольку это изначально плохая практика, они обычно не включаются. Единственное место, где вы должны увидеть их использование, - это люди, начинающие с sql-запросов, которые не знают ничего лучшего. В остальном они просто загромождают ваш запрос.
Это нестандартный синтаксис Microsoft SQL Server для «идентификаторов с разделителями». SQL поддерживает разделители для идентификаторов, чтобы имена таблиц, имена столбцов или другие объекты метаданных могли содержать следующее:
Microsoft SQL Server использует квадратные скобки, но это не тот синтаксис, который стандартный SQL использует для идентификаторов с разделителями. Стандартно для разделителей следует использовать двойные кавычки.
В Microsoft SQL Server вы можете включить режим использования стандартных двойных кавычек для разделителей следующим образом:
SET QUOTED_IDENTIFIER ON;
Даже в кавычках или скобках имена в SQL Server не обязательно чувствительны к регистру; это зависит от параметров сортировки сервера или базы данных. Кроме того, скобки не уникальны для SQL Server; они тоже есть в Sybase.
Спасибо, это имеет смысл, что скобки поддерживаются в Sybase, поскольку он и SQL Server когда-то были одной и той же кодовой базой.
Относится ли квадратная скобка к MS Access, а также к SQL Server?
@DanW, MS Access использует квадратные скобки для разделения идентификаторов. Вот краткое описание синтаксиса идентификатора в MS Access: office.microsoft.com/en-us/access-help/…
если вы используете любое имя столбца, такое же, как любое зарезервированное ключевое слово в sql, в этом случае вы можете поместить имя столбца в квадратную скобку, чтобы различать ваше пользовательское имя столбца и существующее зарезервированное ключевое слово.
Если имена таблиц или имена файлов содержат пробелы или дефисы (-) и т. д., Вы можете получить сообщение «Systax error in FROM clause». Используйте квадратные скобки [], чтобы решить эту проблему.
См .: https://msdn.microsoft.com/en-us/library/ms175874.aspx
Повторяющийся вопрос: stackoverflow.com/questions/52898/sql-syntax-curiousity