我已经看到两者都使用了,但我似乎无法理解何时使用它们?
对我来说,您似乎在 () 中输入了您所引用的表的名称,在 [] 中输入了字段名称?
谁能解释一下?
方括号在 Microsoft 产品中用于指定其中的内容是标识符(标准的带引号的标识符是双引号" "
,Microsoft SQL Sever 也支持)。当您的数据库名称、用户名、表名称、字段名称、视图名称、过程名称(等)恰好与关键字相同或包含会破坏语法的字符时,使用此选项。这通常用于生成的代码中,以防止无法在代码中使用的标识符。生成的查询可能如下所示:
select [Id], [Name], [Password hint]
from [dbo].[MyDataBase].[User]
如果使用不带括号的字段名Password hint
会破坏语法,并且表名User
可能与关键字冲突User
。
括号用于对项目进行分组,例如作为某些子句语法的一部分,例如插入:
insert into someTable (field1, field2) values ('value1', 'value2')
它们也可以用在表达式中:
select Price * (Quantity + FreeItems) from Articles
它们也可以在查询周围使用以进行子查询:
select o.Name
from (select Name, Age from Persons where City = 'Oslo') as o
where o.Age > 18
() 用于将参数传递给函数和存储过程等。 [] 用于封装字段名称(等),其中包括标点符号(空格和特殊字符,根据上面的注释)。[] 有时用于命名字段以进行显示
SELECT FFgg AS [Some field discription] FROM table1;
希望这可以帮助。