sql 服务器:错误地将列重命名为 [] 。无法恢复

sql server: mistakenly renamed column with [] . Not able to revert back

我错误地使用 sp_rename 重命名了 table 列,例如

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

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

现在我正在尝试将其还原。我尝试关注

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

我收到错误:语法错误解析 SQL 标识符 'qt.Availability.[[AvailabilityIndicator]]'。

也试过

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

我收到错误:语法错误解析 SQL 标识符 'qt.Availability.[[]AvailabilityIndicator[]]'。

请提出任何建议。我真的不想删除并重新创建 table

谢谢

一旦引号开始,[就不是特殊字符,所以不需要转义。

]是一个特殊字符,必须进行转义以保持其字面意义。要逃避它,请加倍。

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

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