在查询中编写以下内容之间是否存在差异:
SELECT * FROM dbo.Product
与之相比:
SELECT * FROM [dbo].[Product]
一个人比另一个人更好还是没关系?
答案 0 :(得分:7)
没有区别。括号的目的是处理具有可能使DBMS混淆的名称的db对象的情况,例如:名称中带有空格或以Trigger
之类的保留字命名的对象(以及其他原因,如评论中所指出的)。
为了保持一致性,您可以围绕所有对象" (带有括号的dbo
,表格和列等)。
SELECT [MyColumn] FROM [MyDatabaseName].[dbo].[My Table Name]
注意,我认为使用"非常规"命名您的对象名称,通常是不好的做法(有一些例外)。但显然,如果您只是针对您无法控制的现有模式编写查询,那么它就是它。