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


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

現在需求就是要去掉這個英文逗號,用腳本跑數據庫也行,但是這里用sql 語句來去掉;

以下是完整的代碼,這里做個記錄

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM