www.cnblogs.com/feiyu401/archive/2007/11/20/965374.html
先创建自定义函数
-----------------------------------------------
create function dbo.regexReplace
(
@source varchar(5000), --原字符串
@regexp varchar(1000), --正则表达式
@replace varchar(1000), --替换值
@globalReplace bit = 0, --是否是全局替换
@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
-------------------------------------
配置对扩展存储过程的支持
Microsoft SQL Server 2005 -> 配置工具 -> 外围应用配置器 -> 功能的外围应用配置 -> Ole自动化:支持Ole自动化
使用方法:
declare @source nvarchar(4000)
set @source = '<HTML>dsafsdf<HEAD>'
select dbo.regexReplace(@source, '\<[^\>]+\>', '', 1, 1)
分享到:
相关推荐
/*********使用方法**************/ --正则校验(符合为1,不符合为0) SELECT [dbo].[Regex.IsMatch]('^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$','dyuanrong2010@163.com') 符合验证, [dbo].[Regex...
SQL Server 2005及以后版本集成了.NET Framework,允许我们通过CLR(Common Language Runtime)创建自定义函数,从而实现正则表达式功能。首先,需要在C#或VB.NET中编写一个利用.NET Framework的`System.Text....
在SQL Server 2005之前,尽管可以通过OLE自动化对象或扩展存储过程使用正则表达式,但效率低下,性能问题频发。然而,随着SQL Server 2005对托管公共语言运行库(CLR)的支持,这一情况得到了根本性的改变。通过CLR...
在SQL Server 2005中,引入了对正则表达式的支持,使得模式匹配和数据提取更为便捷。正则表达式是一种强大的文本匹配模式,可以用来查找、替换或者提取满足特定模式的字符串。在SQL Server中,可以使用`LIKE`或`...
标题“用正则表达式提取SQL”涉及到的是在编程中如何使用正则表达式来从文本或代码中抓取SQL语句的相关知识。在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,它能快速地匹配、查找、替换或者...
SQL Serve提供了简单的字符模糊匹配功能,比如:like, patindex,不过对于某些字符处理场景还显得并不足够,日常碰到的几个问题有: 1. 同一个字符/字符串,出现了多少次 2. 同一个字符,第N次出现的位置 3. 多个...
如果可能,升级到SQL Server 2005或更高版本是一个好选择,因为这些版本开始内置了对正则表达式的支持,提供了`sys.fn_varbintohexstr`和`sys.fn_sqlvarbintohexstr`函数,以及`REGEXP_LIKE`等操作。 总的来说,...
但原生的SQL Server并没有内置对正则表达式的支持,直到SQL Server 2016才加入了对正则表达式的基本支持。在此之前的版本中,需要使用OLE对象的方式调用VBScript.RegExp组件来实现正则表达式的相关功能。 上述内容...
虽然标准SQL不直接支持正则表达式,但许多数据库系统如MySQL、PostgreSQL、Oracle和SQL Server提供了扩展函数来实现正则表达式的功能,如MySQL的`REGEXP`或SQL Server的`PATINDEX`。 在毕业设计中,正则表达式是一...
本主题聚焦于利用C#的正则表达式功能来从网页中提取数据,并将其存储到SQL Server 2005数据库。下面将详细阐述这一过程中的关键知识点。 一、正则表达式(Regular Expression) 正则表达式是一种强大的文本处理工具...
5. **安全防护**:防止SQL注入和跨站脚本攻击(XSS),通过正则表达式过滤掉潜在的恶意输入。 6. **日志分析**:在处理日志文件时,正则表达式可以帮助快速定位和提取关键信息。 7. **数据提取**:从网页抓取或API...
在本文中,我们将深入探讨如何使用C#编程语言和正则表达式来实现百度体育新闻的抓取。C#是一种广泛应用于Windows平台的面向对象的编程语言,它提供了丰富的类库支持网络通信和数据处理。正则表达式则是用于文本模式...
在本文中,我们将探讨如何使用正则表达式有效地匹配T-SQL(Transact-SQL)中的注释。 首先,让我们回顾一下T-SQL单行注释的基本形式: ```sql -- 这是一条注释 ``` 正则表达式的目的是找到所有以`--`开头直到行尾的...
然而,SQL Server的标准版本并不直接支持正则表达式,但可以通过使用CLR(Common Language Runtime)集成来实现。这篇文章将探讨如何在T-SQL中使用正则表达式的函数。 首先,我们看到作者在Visual Studio Team ...
- SQL Server 2008及以上版本引入了`LIKE`和`PATINDEX`函数的增强版——`SYSTEM_VERSIONING`,支持简单的正则表达式匹配。 - PostgreSQL、MySQL等数据库系统支持更强大的正则表达式操作。 - 在数据库设计和管理中...
本文将探讨如何使用正则表达式来解析SQL语句,并通过具体实例来展示这一过程。 #### 正则表达式基础 正则表达式是一种强大的文本匹配工具,可以用来查找、替换以及提取特定模式的字符串。在SQL解析场景中,通过...