zoukankan      html  css  js  c++  java
  • SQLSERVER中正则表达式封装使用

    封装好的正则表达式供SQLSERVER调用

    打开数据库->可编程性->函数->标量值函数->新建标量值函数名

    USE [数据库]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER function [dbo].[标量值函数名]

    (

    @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

  • 相关阅读:
    雷林鹏分享:Lua 运算符
    雷林鹏分享:PHP JSON
    不要提交代码到HEAD上
    Mr Cao 的提问
    使用masory
    git 下载单个文件 已经添加多个远程服务器
    自动生产jason的工具
    简单的应用可以用storyBoard
    《创业维艰》
    造成死锁的各种情况
  • 原文地址:https://www.cnblogs.com/linweifan/p/5032132.html
Copyright © 2011-2022 走看看