zoukankan      html  css  js  c++  java
  • 数据库字段的正则批量替换例子

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


  • 相关阅读:
    二叉树之求叶子结点个数
    求二叉树的深度
    二叉树的基本操作
    二叉树之求结点个数
    数组面试
    数组之求子数组的最大乘积
    字符串之子串
    最近遇到的几个纯C编程的陷阱
    Ubuntu 16.04 64位安装YouCompleteMe
    Linux和Windows的遍历目录下所有文件的方法对比
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6204863.html
Copyright © 2011-2022 走看看