declare @col varchar(15) set @col='5550087_C.abc' select left(@col,7)+substring(@col,9,1)
declare @sql varchar(8000) select @sql=isnull(@sql+char(10),'') +'exec sp_rename ''['+a.name+'].['+b.name+']'', '''+replace(replace(b.name,'_',''),'.abc','')+'''' from sysobjects a join syscolumns b on a.id=b.id where a.type='U' and b.name like '%.abc' exec (@sql)
declare @col varchar(15)
set @col='5550087_C.abc'
select left(@col,7)+substring(@col,9,1)
select
@sql=isnull(@sql+char(10),'')
+'exec sp_rename ''['+a.name+'].['+b.name+']'', '''+replace(replace(b.name,'_',''),'.abc','')+''''
from
sysobjects a join syscolumns b on a.id=b.id
where
a.type='U' and b.name like '%.abc'
exec (@sql)
可以听直接拿来用到你的实际环境中执行。意思是: 先 按照你的逻辑 :把带有 .abc的 数据找出来,然后用 sp_rename 存储过程和 replace 函数 将.abc替换为空 就是你想要的结果