我想在sql server中重命名列名

DK0*_*007 1 sql sql-server

我有列名[car_no]我想重命名它....

我这样想:

exec sp_rename 'add_duty_slip.[car_no]' , 'car_no', 'column'
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

谢谢

xle*_*ier 5

你的代码就像魅力一样.看到这个小提琴.

但是对旧名和新名使用相同的名称将不起作用.

为两者使用不同的名称(即实际重命名列),如:

exec sp_rename 'add_duty_slip.[car_no]' , 'car_no1', 'column'
Run Code Online (Sandbox Code Playgroud)

效果也不错.看到另一个小提琴.

编辑:

如果这是您问题的真正含义,则bracket([])不是列名的一部分,它们只是包含不规则字符(例如空格)的名称的分隔符.所以[car_no],car_no实际上是完全相同的名称.

如果您的列名实际上包含在括号内,您可以执行以下操作:

exec sp_rename 'add_duty_slip."[car_no]"' , 'car_no', 'column'
Run Code Online (Sandbox Code Playgroud)

看到这个小提琴.