SQL脚本错误需要帮助恢复列名称中的'['字符导致问题

时间:2010-11-01 10:16:00

标签: sql sql-server database

使用脚本重命名导致问题的列...

sp_RENAME 'products.isvalid' , '[_is_valid_system]', 'COLUMN'

现在我有一个带方括号的列名,我无法访问该列来解决问题。

列名:

[_is_valid_system]

由于命令中的特殊字符,尝试修复此类问题失败:

sp_RENAME 'products.[_is_valid_system]' , '_is_valid_system', 'COLUMN'

任何逃避这些角色的方式?

即使我可以从足够好的列中进行选择,但由于SQL Server中方括号的特殊含义,以下显然不起作用。

select [is_valid_system] from products

2 个答案:

答案 0 :(得分:3)

尝试

sp_RENAME 'products."[_is_valid_system]"' , '_is_valid_system', 'COLUMN'

答案 1 :(得分:2)

如果SET QUOTED_IDENTIFIER为ON(应该是默认值),请尝试此

EXEC sp_RENAME 'products."[_is_valid_system]"' , '_is_valid_system', 'COLUMN'

仅供参考,您也可以使用它来查询

SELECT "[is_valid_system]" FROM products