MSSQL 字符段分段更新

–>分段更新
–>Author:wufeng4552
–>Date :2009-10-07 08:13:41
–如:更新’a,a,a,a,a’ 第三段a 為 ‘test’ 結果為’a,a,a,test,a’
declare @s varchar(20)–更新的字符串
declare @split varchar(10)–分割符
declare @splitlen int
declare @pos int –更新的段 如上為第三段
declare @value varchar(10) –更新後的值 ‘test’
declare @I int,@J int –變量
select @s=’a,a,a,a,a’,@split=’,’,@splitlen=len(@split+’a’)-2,@i=1,@j=charindex(@split,@s+@split),@pos=3,@value=’test’
–循環開始
while @pos>0 and @I<=@J
begin
select @pos=@pos-1,@I=@J+@splitlen+1,@J=charindex(@split,@s+@split,@i)
end
select @s=case when @I<@J then stuff(@s,@I,@J-@I,@value)
when @J>len(@s) then @s+@value
when @I=@J then stuff(@s,@I,0,@value)
else @s end
select @s
/*
——————–
a,a,a,test,a
(1 個資料列受到影響)
*/

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/236164.html

(0)
上一篇 2022年1月24日
下一篇 2022年1月24日

相关推荐

发表回复

登录后才能评论