日期:2014-05-18  浏览次数:20750 次

字符串操作问题-----应该很不难。(两问三个问题,真不好意思啊。。)

ta
id bh
1 aaa1234
2 bb12345
3 c999c09
对上表用update 进行更新
更新原则:
bh从右往左找,找到第一个不为数字的时候就加入三个0(零)。
上面更新后的结果是:
ta
id bh
1 aaa0001234
2 bb00012345
3 c999c00009
这样upate语句怎么实现啊。。?

------解决方案--------------------
SQL code
--原始数据:@ta
declare @ta table(id int,bh varchar(20))
insert @ta
select 1,'aaa1234' union all
select 2,'bb12345' union all
select 3,'c999c09'

update  @ta set bh=reverse(stuff(reverse(bh),patindex('%[a-z]%',reverse(bh)),0,'000'))

select * from @ta

/*
id          bh                   
----------- -------------------- 
1           aaa0001234
2           bb00012345
3           c999c00009
*/