合并数据库中某一列中的数据

合并数据库中的数据数据库中的数据(S2更改为S1)
--合并数据库中的数据数据库中的数据(S2更改为S1)可能为:S2;  S2,S1;  S1,S2,S3;  S1,S3,S2;
declare @City varchar(50)    
declare @ID varchar(50)
declare @CityReplace varchar(50)
declare @strLen int
declare @strIndex int
declare @strSUIndex int 
DECLARE AutoChangeCity CURSOR FOR 
SELECT City,ID from Operator where City like '%S2%'
OPEN AutoChangeCity;
FETCH NEXT FROM  AutoChangeCity into @City,@ID;
WHILE @@FETCH_STATUS = 0
BEGIN
    set @strLen = len(@City)
    set @strIndex = CHARINDEX('S2',@City)
    set @strSUIndex = CHARINDEX('S1',@City)
    --大于0表示存在S1和S2
    if(@strSUIndex > 0)
    BEGIN
        --等于1即第一个;反之则是中间或最后一个。
        if(@strIndex=1)
        BEGIN
            set @CityReplace = REPLACE (@City,'S2,','')
        END
        ELSE
        BEGIN
            set @CityReplace = REPLACE (@City,',S2','')
        END
    END
    ELSE
    BEGIN
        set @CityReplace = REPLACE (@City,'S2','S1')
    END
    update Operator set City=@CityReplace where ID=@ID
    FETCH NEXT FROM  AutoChangeCity into @City,@ID;
END
CLOSE AutoChangeCity
DEALLOCATE AutoChangeCity
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值