【问题标题】:Removing [] around column in SQL Server 2005在 SQL Server 2005 中删除列周围的 []
【发布时间】:2012-04-13 07:16:32
【问题描述】:

当我在 SQL Server 中重命名列时,我不小心在列周围插入了方括号。我使用的实际语句是:

SP_RENAME 'customer.[EMPLOYEENAMES]', '[EMPLOYEENAME]', 'COLUMN'

但是当我尝试检索它刚刚说的数据时,我什至尝试不使用方括号,它给出了同样的错误

列名“[EMPLOYEENAME]”无效。

我应该如何删除方括号。

【问题讨论】:

标签: sql-server-2005 square-bracket


【解决方案1】:

这将恢复您数据库中的顺序:

EXEC SP_RENAME 'customer."[EmployeeName]"', 'EmployeeName','COLUMN'

您不能使用双括号,因为它会返回语法错误。引号绕过了这个限制。

【讨论】:

    【解决方案2】:

    由于您现在有一个名称本身带有方括号的列,您可以通过以下方式访问该列:

    SELECT [[EmployeeName]]] 
    FROM Customer
    

    是的,所有这些额外的方括号有点笨拙:)

    所以,我会再次重命名您的列以删除括号:

    EXEC SP_RENAME 'customer.[[EmployeeName]]]', 'EmployeeName','COLUMN'
    

    所以你可以引用“正常”:

    SELECT EmployeeName
    FROM Customer
    

    【讨论】:

    • deal-io M$ 是什么?不匹配的括号是有效的语法吗?哈哈
    【解决方案3】:

    给定的替代方案都不适合我,所以我必须创建一个具有正确名称的新列,执行更新设置 newName = [[badName]]],然后删除错误命名的列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      相关资源
      最近更新 更多