您的位置:首页 > 数据库

SQL 2005中实现正则表达式

2007-09-10 15:26 363 查看
SQL 2005中实现正则表达式问题为了实现正则表达式,在网上都花了几天时间才找到相关的资料,然后又经过一天的测试,才真正能够使用,辛苦啊....

CREATE FUNCTION LoseHtml /* 去掉html代码*/
(
@source varchar(5000),@Pattern varchar(1000)
)
RETURNS varchar(5000)
AS
BEGIN
DECLARE @hr integer
DECLARE @objRegExp integer
DECLARE @objMatches integer
DECLARE @objMatch integer
DECLARE @getvalue varchar(5000)
EXEC @hr = sp_OACreate 'VBScript.RegExp',@objRegExp OUTPUT
IF @hr < > 0 BEGIN
RETURN 'A'
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern',@Pattern
IF @hr < > 0 BEGIN
RETURN 'B'
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global',true
IF @hr < > 0 BEGIN
RETURN 'C'
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase',true
IF @hr < > 0 BEGIN
RETURN 'D'
END
EXEC @hr = sp_OAMethod @objRegExp,'Replace',@getvalue OUTPUT,@source,''
IF @hr < > 0 BEGIN
RETURN 'E'
END
EXEC @hr = sp_OADestroy @objRegExp
IF @hr < > 0 BEGIN
RETURN 'F'
END
RETURN @getvalue
END
用下面的查询看看结果:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
Select Replace(dbo.LoseHtml(content,' <//*[^ < >]* >'),' ',''),Content from FS_News
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: