数据库字段的正则批量替换例子

时间:2017-06-22
'123<和这个>56<7>8'替换为'123568'
最直接的方法就是想到正则表达式
如果是SQLServer则不直接支持,可以借助js的com组件
 
--测试字符串
declare @inStr varchar(800)
set @inStr='123<和这个>56<7>8'
--测试语句
declare @str  varchar(800)
set @str='var data = "'+@inStr+'";var reCat = /<[^>]+>/gi;data.replace(reCat,"");'
declare @object int 
declare @r varchar(800)
exec sp_OACreate 'MSScriptControl.ScriptControl',@object output   
exec sp_OASetProperty @object, 'Language','JavaScript' 
exec sp_OAMethod @object, 'eval', @r out,@str 
select @r
--输出
/*123568*/
 
如果是Oracle则简单很多,可以直接用SQL语句
 
 
Select REGEXP_REPLACE('123<和这个>56<7>8','<[^>]+>', '') as r FROM dual;
/*
R
123568
*/
上一条:PHP连接MYSQL数据库的3种常用方法 下一条:mysql ERROR 1064 (42000): Erreur de syntaxe près de 'order)

相关文章

最新文章