我注意到Visual Studio 2008在sql中的列名称周围放置了方括号.括号是否有任何优势?当我手工编写T-SQL代码时,我从不打扰他们.
示例:Visual Studio:SELECT [column1],[column2]等...
我自己的方式:SELECT column1,column2等...
如果在列名称或标识符中使用关键字或特殊字符,则必须使用括号.您可以命名一个列[First Name]
(带空格) - 但是每次引用该列时都需要使用括号.
新的工具将它们添加到任何地方,以防万一或一致.
如果您的列与SQL关键字具有相同的名称,或者在其中包含空格,则它们非常方便.
例:
create table test ( id int, user varchar(20) )
不好了!关键字"user"附近的语法不正确.但是这个:
create table test ( id int, [user] varchar(20) )
工作良好.
如果您(出于某种原因)使用具有某些字符的列名称,它们将非常有用.
Select First Name From People
不起作用,但在列名称周围放置方括号将起作用
Select [First Name] From People
简而言之,它是一种明确声明对象名称的方式; 列,表,数据库,用户或服务器.
列名可以包含会混淆查询执行引擎的字符和保留字,因此始终在它们周围放置括号可防止这种情况发生.我想,比检查问题然后处理它更容易.
当列名是保留字时,可以使用括号.
如果以编程方式从您无法控制的列名集合中生成SQL语句,则可以通过始终使用括号来避免问题.