zoukankan      html  css  js  c++  java
  • SQL SERVER 正则替换

    use pubdb
    go

    IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL
     DROP FUNCTION dbo.RegexReplace
    GO
    --开始创建正则替换函数
     CREATE FUNCTION DBO.RegexReplace
    (
     @string VARCHAR(MAX), --被替换的字符串
     @pattern VARCHAR(255), --替换模板
     @replacestr VARCHAR(max), --替换后的字符串
     @IgnoreCase INT = 0 --0区分大小写 1不区分大小写
    )
    RETURNS VARCHAR(max)
    AS
    BEGIN
     DECLARE @objRegex INT, @retstr VARCHAR(8000)
     --创建对象
     EXEC sp_OACreate 'VBScript.RegExp', @objRegex OUT
     --设置属性
     EXEC sp_OASetProperty @objRegex, 'Pattern', @pattern
     EXEC sp_OASetProperty @objRegex, 'IgnoreCase', @IgnoreCase
     EXEC sp_OASetProperty @objRegex, 'Global', 1
     --执行
     EXEC sp_OAMethod @objRegex, 'Replace', @retstr OUT, @string, @replacestr
     --释放
     EXECUTE sp_OADestroy @objRegex
     RETURN @retstr
    END
    GO

    --保证正常运行的话,需要将Ole Automation Procedures选项置为1
    EXEC sp_configure 'show advanced options', 1
    RECONFIGURE WITH OVERRIDE
    EXEC sp_configure 'Ole Automation Procedures', 1
    RECONFIGURE WITH OVERRIDE



  • 相关阅读:
    Jessica's Reading Problem POJ
    FatMouse and Cheese HDU
    How many ways HDU
    Humble Numbers HDU
    Doing Homework again
    Stacks of Flapjacks UVA
    Party Games UVA
    24. 两两交换链表中的节点
    面试题 03.04. 化栈为队
    999. 可以被一步捕获的棋子数
  • 原文地址:https://www.cnblogs.com/champaign/p/7146998.html
Copyright © 2011-2022 走看看