删除SQL Server 2005中的列周围的[]

Sre*_*ree 27 sql-server-2005 square-bracket

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

SP_RENAME 'customer.[EMPLOYEENAMES]', '[EMPLOYEENAME]', 'COLUMN'
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试检索数据时,它只是说,我甚至尝试了方括号,它给出了同样的错误

列名称"[EMPLOYEENAME]"无效.

我该如何删除方括号.

Nik*_*vić 42

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

EXEC SP_RENAME 'customer."[EmployeeName]"', 'EmployeeName','COLUMN'
Run Code Online (Sandbox Code Playgroud)

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


Ada*_*Dev 8

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

SELECT [[EmployeeName]]] 
FROM Customer
Run Code Online (Sandbox Code Playgroud)

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

因此,我会重新命名您的列以删除括号:

EXEC SP_RENAME 'customer.[[EmployeeName]]]', 'EmployeeName','COLUMN'
Run Code Online (Sandbox Code Playgroud)

所以你可以参考"正常":

SELECT EmployeeName
FROM Customer
Run Code Online (Sandbox Code Playgroud)