萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> sql 字符串替換處理函數

sql 字符串替換處理函數

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.111cn.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,
'</td>',
'' );
update  `dede_addonarticle`  set body =  replace ( body,
'</tr>',
'' );
update  `dede_addonarticle`  set body =  replace ( body,
'<tr>',
'' );      
update  `dede_archives`  set title=  replace ( title,
'大洋新聞 - ',
'' ); 
update  `dede_addonarticle`  set body =  replace ( body,
'../../../../../../',
'http://mb.111cn.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.111cn.net','w','ww')--->www www.111cn.net

copyright © 萬盛學電腦網 all rights reserved