我需要知道如何从任何名称重命名SQL表列。如果我知道当前名称,我可以使用以下代码。
sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN'
但如果我不知道列名,我怎样才能将其更改为新名称?提前谢谢。
答案 0 :(得分:3)
如果您知道列号(序号位置),则可以通过运行以下查询来获取列名:
SELECT COLUMN_NAME FROM Information_Schema.Columns
WHERE TABLE_NAME = '<TableName>' AND ORDINAL_POSITION = <ColumnNumber>
这是一个可能的使用示例
DECLARE @ColName nvarchar(128)
SELECT @ColName = COLUMN_NAME FROM Information_Schema.Columns
WHERE TABLE_NAME = 'TableName' AND ORDINAL_POSITION = 6
SET @ColName = 'TableName.[' + @ColName + ']'
sp_RENAME @ColName , '[NewColumnName]', 'COLUMN'
答案 1 :(得分:0)