Sql server 2005 正在删除SQL Server 2005中列周围的[]
在SQL Server中重命名该列时,我意外地在该列周围插入了方括号。我使用的实际陈述是: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
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'