SQL Server TEXT型別欄位字串替換示例處理指令碼

iSQlServer發表於2009-11-23

               --SQL Server TEXT型別欄位字串替換示例處理指令碼

/*--text欄位的替換處理  
  --*/  
  --建立資料測試環境  
--create   table   #tb(aa   text)
declare @s_str varchar(8000),@d_str varchar(8000),  --定義替換的字串 
        @p varbinary(16),@postion int,@rplen int,@i_Start int, @i_End int

select identity(int,1,1) as [id],newsid into # from news
select @i_Start=min([id]),@i_End=max([id]) from #
while (@i_Start<=@i_End)
begin 
  --insert into #tb(aa) select content from # where [id]=@i_Start
  select   @s_str='\'   --要替換的字串  
  ,@d_str='!' --替換成的字串     
  --字串替換處理       
  select   @p=textptr(content),@rplen=len(@s_str),@postion=charindex(@s_str,content)-1 from news where newsid in (select top 1 newsid from # where [id]=@i_Start) 
  while   @postion>0  
  begin  
    updatetext   news.content   @p   @postion   @rplen   @d_str  
    select   @postion=charindex(@s_str,content)-1  from news where newsid in (select top 1 newsid from # where [id]=@i_Start)
  end 
  --truncate table #tb
 
  select @i_Start=@i_Start+1
end
 
--刪除資料測試環境  
--drop   table   #tb 
drop table #

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-620294/,如需轉載,請註明出處,否則將追究法律責任。

相關文章