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


    '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
    */


  • 相关阅读:
    《DSP using MATLAB》Problem 6.4
    《DSP using MATLAB》Problem 6.3
    《DSP using MATLAB》Problem 6.1
    《DSP using MATLAB》Problem 5.38
    整除分块+取模
    尺取法(滑窗,双指针)
    uva247电话圈(floyd)
    uva1151并查集+最小生成树
    uva1395 苗条的生成树
    uva10562看图写树
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6204863.html
Copyright © 2020-2023  润新知