由於這面的數據庫比較多,數據也比較多,可是有個遺留的歷史數據問題;就是某個字符串前面有個英文逗號;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