程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MSSQL 字符段分段更新

MSSQL 字符段分段更新

編輯:關於SqlServer


-->分段更新
-->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 個資料列受到影響)

*/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved