因為這面的數據庫比較多,數據也比較多,但是有個遺留的歷史數據問題;就是某個字符串前面有個英文逗號;
現在需求就是要去掉這個英文逗號,用腳本跑數據庫也行,但是這里用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