sql server:错误地用[]重命名了列。无法恢复

问题描述:

我误改名使用sp_rename来表列像sql server:错误地用[]重命名了列。无法恢复

exec sp_rename 'qt.Availability.[RateIndicator]','[AvailabilityIndicator]', 'COLUMN' 

这导致我的列名成为[AvailabilityIndi​​cator],而不是仅仅AvailabilityIndi​​cator

现在我想将其恢复。我尝试以下

exec sp_rename 'qt.Availability.[[AvailabilityIndicator]]' , 'AvailabilityIndicator1', 'COLUMN' 

我得到的错误:语法错误解析SQL标识符 'qt.Availability [AvailabilityIndi​​cator]。'。

也试过

exec sp_rename 'qt.Availability.[[]AvailabilityIndicator[]]' , 'AvailabilityIndicator1', 'COLUMN' 

我得到的错误:语法错误解析SQL标识符 'qt.Availability [[] AvailabilityIndi​​cator []'。

请提出任何建议。我真的不想放弃并重新创建表

感谢

+1

右键单击表格,转到设计,删除括号,单击保存按钮。 –

[不是特殊字符一次引用名字已经启动,所以不需要进行转义。

]是一个特殊字符,必须转义才能保留其字面意思。为了逃避它,把它翻一番。

所以:它应该是qt.Availability.[[AvailabilityIndicator]]]

如有疑问,请使用QUOTENAME功能:SELECT QUOTENAME('[AvailabilityIndicator]')会给你[[AvailabilityIndicator]]]

+0

这非常有帮助。谢谢 ! –