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

Sql Server 使用正则表达式

时间:2019-12-12 13:23:12      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:begin   select   tom   mes   set   configure   res   options   table   

 

create function dbo.RegexMatch (    
 
@pattern varchar(2000),    
 
@matchstring varchar(8000)
 
)
 
returns int
 
as
 
begin   
 
    declare @objRegexExp int   
 
    declare @strErrorMessage varchar(255)    
 
    declare @hr int,@match bit   
 
    exec @hr= sp_OACreate VBScript.RegExp, @objRegexExp out   
 
    if @hr = 0        
 
        exec @hr= sp_OASetProperty @objRegexExp, Pattern, @pattern    
 
    if @hr = 0        
 
        exec @hr= sp_OASetProperty @objRegexExp, IgnoreCase, 1    
 
    if @hr = 0        
 
        exec @hr= sp_OAMethod @objRegexExp, Test, @match OUT, @matchstring    
 
    if @hr <>0    
 
    begin       
 
        return null   
 
    end   
 
    exec sp_OADestroy @objRegexExp    
 
    return @match
 
end

调用

SELECT * FROM table where dbo.RegexMatch(正则表达式,字段名)=0

如果执行报错 执行这个语句

--开启 Ole Automation Procedures
sp_configure show advanced options, 1;
GO
RECONFIGURE;
GO
sp_configure Ole Automation Procedures, 1;
GO
RECONFIGURE;
GO
EXEC sp_configure Ole Automation Procedures;
GO

--关闭 Ole Automation Procedures
sp_configure show advanced options, 1;
GO
RECONFIGURE;
GO
sp_configure Ole Automation Procedures, 1;
GO
RECONFIGURE;
GO
EXEC sp_configure Ole Automation Procedures;
GO

--关闭高级选项
sp_configure show advanced options, 0;
GO
RECONFIGURE;
GO

 

 

Sql Server 使用正则表达式

标签:begin   select   tom   mes   set   configure   res   options   table   

原文地址:https://www.cnblogs.com/zldqpm/p/12028471.html

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