请教关于去除字段中首尾多余的空格?

静远 2010-03-29 07:00:26
由于之前的数据库表里很多字段都是设置的char类型,再加上有时候在输入数据时有意无意多输入了一些空格,但是又没有进行处理,现在从别人那里把数据搬过来,重新设计数据库,都换成了varchar类型,在程序里也有了相应处理,但是已有的数据中多余的空格该如何消除呢?
由于数据表比较多,一个一个表打开去看,然后一个一个LTrim(RTrim(colname)),可是可行,就是数据表多,字段多的话,就不知道要执行多少次了。

请问,不知道有没有方法进行批量处理呢?哪怕是一张表处理一次也好。只需要去除首尾的空格,中间的不用管。
...全文
291 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
htl258_Tony 2010-03-29
declare @s nvarchar(500) 
declare c cursor for
select 'update ['+a.name+']'+ ' set ['+b.name+']=ltrim(rtrim(['+b.name+']))'
from sysobjects a
join syscolumns b
on a.id=b.id
and b.xtype in(167,175)
where a.xtype='U '
open c
fetch next from c into @s
while @@fetch_status=0
begin
exec(@s)
fetch next from c into @s
end
close c
deallocate c
回复
--小F-- 2010-03-29
用游标写循环..
回复
SQL77 2010-03-29
好像老大有个存储过程
回复
SQL77 2010-03-29
游标,每个表的CHAR类型字段,再进行替换
回复
发动态
发帖子
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
社区公告
暂无公告