【问题标题】:how do I query a column that has a name similar to a reserved word? [duplicate]如何查询名称类似于保留字的列? [复制]
【发布时间】:2011-03-21 23:45:19
【问题描述】:

可能重复:
How to deal with SQL column names that look like SQL keywords?

SELECT thing.Column FROM mytable thing

当我运行它时,SQL Server 说我有“关键字‘列’附近的语法不正确

【问题讨论】:

  • 快速修复是在列名周围使用[],但真正的解决方案是不使用保留字并将列名更改为其他名称.

标签: sql-server tsql


【解决方案1】:

像这样:

SELECT [thing].[Column] FROM [mytable] AS [thing]

每次都继续尝试使用这些括号,因为您永远不知道您的系统何时会迁移到新版本,以及新版本是否没有新的保留字集。

【讨论】:

    【解决方案2】:

    您可以将列名括在方括号中,因此:

    SELECT thing.[Column] FROM mytable thing
    

    你也可以使用双引号(我相信这是更标准的 SQL 语法):

    SELECT thing."Column" FROM mytable thing
    

    请注意,双引号仅在启用 QUOTED_IDENTIFIER 时有效,但默认情况下是启用的。

    这里是MSDN reference on delimited identifiers

    【讨论】:

      猜你喜欢
      • 2016-01-20
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2016-05-26
      相关资源
      最近更新 更多