当前位置:主页 > 技术专题 > 数据库 >

    MSSQL 字符段分段更新

    2010-11-11 10:27 作者:admin 来源:admin 浏览次数:

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

    */

联系方式 | 收费标准 | 上门服务 | 公司简介 | 汇款账户

回天时代有限公司

杭州公司: 杭州市文三路388号钱江科技大厦10楼1016室

华东总部:上海市徐汇区漕溪北路41号汇嘉大厦12楼E室(太平洋一期12楼)

咨询热线:400-889-1122(全国),0512-66099871(苏州),021-58358765(上海),0571-88218821(杭州) 24小时热线:13524645444,案:浙ICP备06024533号