sql server 去掉 某個字符串 前面的某個字符

由於這面的數據庫比較多,數據也比較多,可是有個遺留的歷史數據問題;就是某個字符串前面有個英文逗號;sql

如今需求就是要去掉這個英文逗號,用腳本跑數據庫也行,可是這裏用sql 語句來去掉;數據庫

如下是完整的代碼,這裏作個記錄spa

DECLARE @cursor CURSOR;
DECLARE @id    int;
DECLARE @Staging    varchar(max);
DECLARE @Staging_tmp    varchar(max);
DECLARE @str_len int;
DECLARE @start_num    int;

set @cursor = CURSOR FOR SELECT id,Staging FROM proj_dong_info where Staging <> '' and Staging is not null;
OPEN @cursor
    FETCH NEXT FROM @cursor INTO @id,@Staging
    WHILE(@@FETCH_STATUS=0)
        BEGIN
        SET @Staging_tmp = ltrim(@Staging);
        SET @start_num = patindex('%,%',@Staging_tmp);
        IF @start_num = 1
            BEGIN
                SET @start_num = patindex('%,%',@Staging);
                SET @str_len = datalength(@Staging);
                SET @Staging = substring(@Staging,@start_num+1,@str_len);
                --PRINT @Staging;
                --PRINT @id;
                update proj_dong_info set Staging = @Staging where id = @id;
            END
            FETCH NEXT FROM @cursor INTO @id,@Staging
        END
    CLOSE @cursor
    DEALLOCATE @cursor
相關文章
相關標籤/搜索