码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer正则特换函数

时间:2017-07-14 11:59:17      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:returns   忽略   logs   null   ext   regexp   span   ase   blog   

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
go

 

SqlServer正则特换函数

标签:returns   忽略   logs   null   ext   regexp   span   ase   blog   

原文地址:http://www.cnblogs.com/sp-oh-dear/p/7169206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!