方括号允许您为包含不允许列名或别名的字符的列或别名使用名称。
a)我注意到很多时候表格和列名都包含在方括号内,即使它们的名字由完全合法的字符组成。那是为什么?
b)据我所知,包含对象名称的方括号实际上并不是该名称的一部分。因此,如果我们创建一个名为[A]的表:
CREATE TABLE [A] ( … )
我们以后可以不使用括号来引用它:
SELECT * FROM A
但是当我尝试从CONTAINSTABLE函数返回的表中引用列KEY时,为什么不一样?也就是说,如果我省略括号列名称的括号,我会收到错误:
SELECT ct.KEY
FROM CONTAINSTABLE(fullText,*,'some_string') as ct
感谢名单
答案 0 :(得分:1)
KEY
是SQL中的保留字,因此需要括号将其用作列名。
我认为很多时候你看到多余的方括号可能是由工具生成的代码。 Management Studio在生成一些脚本时将它们放在一起。
答案 1 :(得分:1)
括号不仅适用于合法字符,还允许使用其他保留字来表示列名等。