当前位置:  开发笔记 > 数据库 > 正文

sql语句中的[]括号

如何解决《sql语句中的[]括号》经验,为你挑选了3个好方法。

括号在sql语句中做了什么?

例如,在声明中:

insert into table1 ([columnname1], columnname2) values (val1, val2)

另外,如果表名在括号中,它会怎么做?



1> albertein..:

[]标记了标识符的分隔符,因此如果您的列名称包含Order Qty等空格,则需要将其与[]括起来,如:

select [Order qty] from [Client sales]

它们也是为了逃避用作标识符的保留关键字



2> Bill Karwin..:

这是用于"分隔标识符"的Microsoft SQL Server非标准语法.SQL支持标识符的分隔符,以允许表名,列名或其他元数据对象包含以下内容:

SQL保留字:"订单"

包含空格的单词:"Order qty"

包含标点符号的单词:"Order-qty"

包含国际字符的单词

区分大小写的列名称:"Order"与"order"

Microsoft SQL Server使用方括号,但这不是SQL用于分隔标识符的语法标准.标准地说,双引号应该用于分隔符.

在Microsoft SQL Server中,您可以启用模式以使用标准双引号作为分隔符,如下所示:

SET QUOTED_IDENTIFIER ON;


即使使用引号或括号,SQL Server中的名称也不一定区分大小写; 它取决于服务器或数据库排序规则.此外,括号不是SQL Server独有的; 他们也在Sybase.
谢谢,Sybase支持括号是有道理的,因为它和SQL Server曾经是相同的代码库.
方括号是否适用于MS Access以及SQL Server?

3> Jorge Ferrei..:

它们旨在转义保留关键字或无效列标识符.

CREATE TABLE test
(
  [select] varchar(15)
)

INSERT INTO test VALUES('abc')

SELECT [select] FROM test

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有