30

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

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

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

列名“[EMPLOYEENAME]”无效。

我应该如何删除方括号。

4

3 回答 3

45

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

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

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

于 2012-04-13T07:34:09.917 回答
8

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

SELECT [[EmployeeName]]] 
FROM Customer

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

因此,我将再次重命名您的列以删除括号:

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

所以你可以参考“正常”:

SELECT EmployeeName
FROM Customer
于 2012-04-13T07:31:19.470 回答
0

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

于 2016-08-30T20:10:05.053 回答