zoukankan      html  css  js  c++  java
  • SQL Server 2005,2008 正则表达式 替换函数应用详解

    CREATE function dbo.regexReplace 
    ( 
    @source ntext, --原字符串 
    @regexp varchar(1000), --正则表达式 
    @replace varchar(1000), --替换值 
    @globalReplace bit = 1, --是否是全局替换 
    @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 

    配置对扩展存储过程的支持


    Microsoft SQL Server 2005 -> 配置工具 -> 外围应用配置器 -> 功能的外围应用配置 -> Ole自动化:支持Ole自动化 


    Microsoft SQL Server 2008 -> 在服务器节点上,点击右键,选择“方面”,然后可以看到有很多方面的设置,其中有一项就是“外围应用配置器”

    使用举例1 代码如下:


    declare @source nvarchar(4000)
    set @source = 'dsafsdf'
    select dbo.regexReplace(@source, '<[^>]+>', '', 1, 1)


    使用举例2: (将数据库字段中含有<font color='#ff0000'>aaa</font>替换为<font>aaa</font>)
    Select id,dbo.regexReplace(字段,'<font([^>])*>','<font>',1,0) AS 别名 From 表  

  • 相关阅读:
    【LeetCode】048. Rotate Image
    【LeetCode】036. Valid Sudoku
    【LeetCode】060. Permutation Sequence
    【LeetCode】001. Two Sum
    【LeetCode】128. Longest Consecutive Sequence
    【LeetCode】081. Search in Rotated Sorted Array II
    【LeetCode】033. Search in Rotated Sorted Array
    顺时针打印矩阵
    矩形覆盖
    二维数组中的查找
  • 原文地址:https://www.cnblogs.com/simadi/p/4288466.html
Copyright © 2011-2022 走看看