括号在sql语句中做了什么?
例如,在声明中:
insert into table1 ([columnname1], columnname2) values (val1, val2)
另外,如果表名在括号中,它会怎么做?
[]标记了标识符的分隔符,因此如果您的列名称包含Order Qty等空格,则需要将其与[]括起来,如:
select [Order qty] from [Client sales]
它们也是为了逃避用作标识符的保留关键字
这是用于"分隔标识符"的Microsoft SQL Server非标准语法.SQL支持标识符的分隔符,以允许表名,列名或其他元数据对象包含以下内容:
SQL保留字:"订单"
包含空格的单词:"Order qty"
包含标点符号的单词:"Order-qty"
包含国际字符的单词
区分大小写的列名称:"Order"与"order"
Microsoft SQL Server使用方括号,但这不是SQL用于分隔标识符的语法标准.标准地说,双引号应该用于分隔符.
在Microsoft SQL Server中,您可以启用模式以使用标准双引号作为分隔符,如下所示:
SET QUOTED_IDENTIFIER ON;
它们旨在转义保留关键字或无效列标识符.
CREATE TABLE test ( [select] varchar(15) ) INSERT INTO test VALUES('abc') SELECT [select] FROM test