当前位置:  开发笔记 > 后端 > 正文

在sql语句中使用方括号[]有什么用?

如何解决《在sql语句中使用方括号[]有什么用?》经验,为你挑选了5个好方法。

我注意到Visual Studio 2008在sql中的列名称周围放置了方括号.括号是否有任何优势?当我手工编写T-SQL代码时,我从不打扰他们.

示例:Visual Studio:SELECT [column1],[column2]等...

我自己的方式:SELECT column1,column2等...



1> Michael Hare..:

如果在列名称或标识符中使用关键字或特殊字符,则必须使用括号.您可以命名一个列[First Name](带空格) - 但是每次引用该列时都需要使用括号.

新的工具将它们添加到任何地方,以防万一或一致.


这是方括号的唯一目的吗?
相关问:http://stackoverflow.com/questions/9917196/meaning-of-square-brackets-in-ms-sql-table-designer
sql还在select查询的like-operator中使用方括号来限制使用正则表达式的结果.http://www.codeproject.com/Articles/33941/SQL-LIKE-Operator

2> Blorgbeard..:

如果您的列与SQL关键字具有相同的名称,或者在其中包含空格,则它们非常方便.

例:

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

不好了!关键字"user"附近的语法不正确.但是这个:

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

工作良好.


括号不是标准SQL,不确定所有数据库引擎使用的字符.例如:MySQL使用反引号:/sf/ask/17360801/

3> GateKiller..:

如果您(出于某种原因)使用具有某些字符的列名称,它们将非常有用.

Select First Name From People

不起作用,但在列名称周围放置方括号将起作用

Select [First Name] From People

简而言之,它是一种明确声明对象名称的方式; 列,表,数据库,用户或服务器.



4> 小智..:

列名可以包含会混淆查询执行引擎的字符和保留字,因此始终在它们周围放置括号可防止这种情况发生.我想,比检查问题然后处理它更容易.



5> Torlack..:

当列名是保留字时,可以使用括号.

如果以编程方式从您无法控制的列名集合中生成SQL语句,则可以通过始终使用括号来避免问题.

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