我正在维护由SQL Server中的其他人创建的数据库。在一个表中,我找到了一个名称在方括号之间的列。该字段的名称为desc
,并以[desc]
的形式存储在表中。其他字段存储时没有方括号。这个选择背后有什么特殊原因/惯例吗?
构建在数据库之上的应用程序是用C#或VB.NET开发的。
由于
答案 0 :(得分:7)
括号(或其他数据库引擎中的其他标识符)只是告诉查询引擎该术语是数据库中对象的标识符的一种明确方式。常见原因包括:
(我想也可能会有一个非常轻微的性能提升,因为引擎不需要尝试识别该项目的含义,它已被明确告知它是一个对象。它仍然需要当然,验证这一点,但它可能是内部工作的一个小帮助。)
答案 1 :(得分:4)
如果您的名字包含保留字(例如SELECT)或空格,则需要用[]包围名称。
在您的示例中,您有[desc],它是DESCENDING的缩写。
答案 2 :(得分:3)
例如,如果您的字段是关键字,例如[日期]或[选择],或者在这种情况下[desc]