Sql server 2005 正在删除SQL Server 2005中列周围的[]

Sql server 2005 正在删除SQL Server 2005中列周围的[],sql-server-2005,square-bracket,Sql Server 2005,Square Bracket,在SQL Server中重命名该列时,我意外地在该列周围插入了方括号。我使用的实际陈述是: SP_RENAME 'customer.[EMPLOYEENAMES]', '[EMPLOYEENAME]', 'COLUMN' 但是,当我试图检索它刚刚说的数据时,我甚至尝试不使用方括号,它给出了相同的错误 列名“[EMPLOYEENAME]”无效 如何删除方括号。由于名称中有一列包含方括号,您可以通过以下方式访问该列: SELECT [[EmployeeName]]] FROM Customer

在SQL Server中重命名该列时,我意外地在该列周围插入了方括号。我使用的实际陈述是:

SP_RENAME 'customer.[EMPLOYEENAMES]', '[EMPLOYEENAME]', 'COLUMN'
但是,当我试图检索它刚刚说的数据时,我甚至尝试不使用方括号,它给出了相同的错误

列名“[EMPLOYEENAME]”无效


如何删除方括号。

由于名称中有一列包含方括号,您可以通过以下方式访问该列:

SELECT [[EmployeeName]]] 
FROM Customer
是的,所有这些额外的方括号都有点笨拙:)

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

EXEC SP_RENAME 'customer.[[EmployeeName]]]', 'EmployeeName','COLUMN'
因此,您可以引用“正常”:


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

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

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

没有一个给定的选项对我有效,所以我必须用正确的名称创建一个新列,执行更新设置newName=[[badName]],然后删除错误命名的列。

也许你可以使用
quotename
函数,看看什么是交易io M$?不匹配的括号是否为有效语法?英雄联盟
EXEC SP_RENAME 'customer."[EmployeeName]"', 'EmployeeName','COLUMN'