sql 字符串替换处理函数

作者:袖梨 2022-11-14

sql 字符串替换处理函数

create function dbo.regexreplace
(
@source varchar(5000), --原字符串
@regexp varchar(1000), --正则表达式
@replace varchar(1000), --替换值
@globalreplace bit = 0, --是否是全局替换
@ignorecase bit = 0 --是否忽略大小?
)
returns varchar(1000) as
begin
declare @hr integer
declare @objregexp integer
declare @result varchar(5000)

exec @hr = sp_oacreate 'vbscript.regexp', @objregexp output
if @hr <> 0 begin
exec @hr = sp_oadestroy @objregexp
return null
end
exec @hr = sp_oasetproperty @objregexp, 'pattern', @regexp
if @hr <> 0 begin
exec @hr = sp_oadestroy @objregexp
return null
end
exec @hr = sp_oasetproperty @objregexp, 'global', @globalreplace
if @hr <> 0 begin
exec @hr = sp_oadestroy @objregexp
return null
end
exec @hr = sp_oasetproperty @objregexp, 'ignorecase', @ignorecase
if @hr <> 0 begin
exec @hr = sp_oadestroy @objregexp
return null
end
exec @hr = sp_oamethod @objregexp, 'replace', @result output, @source, @replace
if @hr <> 0 begin
exec @hr = sp_oadestroy @objregexp
return null
end
exec @hr = sp_oadestroy @objregexp
if @hr <> 0 begin
return null
end

return @result
end
go

调用方法:select dbo.regexreplace('aa6bb4cc7c','d+','aa',1,1)
输出结果:aaaabbaaccaac


mysql教程字符串替换函数

replace 函数即可批量改变某字段中的某一段字符串。
  查 mysql 里的 replace 函数
  update `xxx` set `a` = replace(`a` , '要替换的' , '替换为的') where xxx
  ===php教程china.com===============================================================
  update `xxx` set `a` = replace(`a` , '要替换的' , '替换为的') where xxx
  update `music` set `file` = replace(`file` , '' , 'ddd') where id<10
  update music set file=replace(file, '', 'def') where id < 10 ;
  ===mysql.com===============================================================
  用mysql的replace函数替换字符串
  比如你要将 表 tb1里面的 f1字段的abc替换为def
  update tb1 set f1=replace(f1, 'abc', 'def');
  replace(str,from_str,to_str)
  在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串:
  mysql> select replace('www.111com.net', 'w', 'ww');
  -> 'wwwwww.mysql.com'
  这个函数是多字节安全的。

mysql替换函数二

在数据转换的时候须要用到mysql的replace函数,这里基本介绍一下!

比如你要将 表 tb1里面的 f1字段的abc替换为def

update tb1 set f1=replace(f1, 'abc', 'def');

replace(str,from_str,to_str)
在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串:
mysql> select replace('www.mysql.com', 'w', 'ww');
-> 'wwwwww.mysql.com'
这个函数是多字节安全的。

示例:
update `dede_addonarticle` set body = replace ( body,
'',
'' );
update `dede_addonarticle` set body = replace ( body,
'',
'' );
update `dede_addonarticle` set body = replace ( body,
'',
'' );
update `dede_archives` set title= replace ( title,
'大洋新闻 - ',
'' );
update `dede_addonarticle` set body = replace ( body,
'../../../../../../',
'http://mb.111com.net' );

mysql replace

用法1.replace intoreplace into table (id,name) values('1','aa'),('2','bb')
此语句的作用是向表table中插入两条记录。
2.replace(object, search,replace)
把object中出现search的全部替换为replaceselect replace('www.111com.net','w','ww')--->www www.111com.net

相关文章

精彩推荐