SqlServer正则特换函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer正则特换函数相关的知识,希望对你有一定的参考价值。

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正则特换函数的主要内容,如果未能解决你的问题,请参考以下文章

缺少 SQL SERVER 2014 代码片段

Sqlserver 正则替换函数的一种实现

融职教育Web前端学习 第3章 JavaScript基础教程10 正则表达式

通过 Java 正则表达式提取 semver 版本字符串的片段

SQL Server中利用正则表达式替换字符串

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段