ホームページ >データベース >mysql チュートリアル >sql字符替换与利用sql存储过程替换

sql字符替换与利用sql存储过程替换

WBOY
WBOYオリジナル
2016-06-07 17:47:511757ブラウズ

如果你在替换数据库的指定字符串或字符,我们需要利用sql字符替换,但是对于超大容量的数据替换我们可能要用到sql存储过程替换 物,因为存储过程效率高于我们自己写的替换函数哦。

如果你在替换的指定字符串或字符,我们需要利用sql字符替换,但是对于超大容量的数据替换我们可能要用到sql替换 物,因为存储过程效率高于我们自己写的替换函数哦。

update 数据表 set 字段=replace(字段,'.','')

下面看一款查询结果字符替换

--select * from sjz_dlfzb

--select replace (substring(tbrq,2,len(tbrq)-2),'$','-') from sjz_dlfzb

update sjz_dlfzb set tbrq=replace (substring(tbrq,2,len(tbrq)-2),'$','-')

 update sjz_hpzb set wdm=replace (substring(wdm,2,len(wdm)-2),'$','-') where hp_id !='130121010001'


update sjz_hpzb set dxslx=replace (substring(dxslx,2,len(dxslx)-2),'$','-')


select * from sjz_nslzb

update sjz_nslzb set tbrq=replace (substring(tbrq,2,len(tbrq)),'$','-') where nsl_id='130131030061'

select * from sjz_nslzb where nsl_id='130131030061'

select * from sjz_nslzb where nsl_id='130132030033'
update sjz_nslzb set tbrq=replace (tbrq,'$','-') where nsl_id='130132030033'
sjz_xpzb

update sjz_xpzb set wd=replace (substring(wd,2,len(wd)),'$','-')


利用存储过程替换字符

create   table   hello(id   int   identity(1,1),content   text)  
  insert   into   hello  
  select   '
'  
  union   all   select   '
'  
   
  --定义替换/删除的字符串  
  declare   @s_str   varchar(8000),@d_str   varchar(8000)  
  select   @s_str='http://localhost/'   --要替换的字符串  
  ,@d_str='' --替换成的字符串  
   
  --定义游标,循环处理数据  
  declare   @id   int  
  declare   #tb   cursor   for   select   id   from   hello  
  open   #tb  
  fetch   next   from   #tb   into   @id  
  while   @@fetch_status=0  
  begin  
  --字符串替换处理  
  declare   @p   varbinary(16),@postion   int,@rplen   int  
  select   @p=textptr(content),@rplen=len(@s_str),@postion=charindex(@s_str,content)-1   from   hello   where   id=@id  
  while   @postion>0  
  begin  
  updatetext   hello.content   @p   @postion   @rplen   @d_str  
  select   @postion=charindex(@s_str,content)-1   from   hello   where   id=@id  
  end  
   
  fetch   next   from   #tb   into   @id  
  end  
  close   #tb  
  deallocate   #tb  
   
  --显示结果  
  select   *   from   hello  
   
  --删除数据测试环境  
  drop   table   hello  

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。