当前位置:Gxlcms > mysql > sql字符替换与利用sql存储过程替换

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

时间:2021-07-01 10:21:17 帮助过:54人阅读

如果你在替换数据库的指定字符串或字符,我们需要利用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

人气教程排行