发布时间:2010-09-09 11:37 来源:未知
下面为您介绍的SQL函数用于去掉参数内HTML代码,需要给数据库访问者master.sp_OA系列存储过程的EXEC权限,该方法供您参考,希望对您学习SQL函数的使用能够有所帮助。
函数名称:ReplaceHTML
参数:@Textstr
作用:去掉 @Textstr 内的HTML代码
备注:需要给数据库访问者master.sp_OA系列存储过程的EXEC权限
请先用Convert函数保证@Textstr为varchar(5000)而不是ntext
Create FUNCTION [dbo].[ReplaceHTML] (
@Textstr varchar (5000)
)
RETURNS varchar(5000) AS
BEGIN
DECLARE @hr integer
DECLARE @objRegExp integer
DECLARE @sStr varchar(5000)
DECLARE @re integer
DECLARE @results varchar(5000)
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 BEGIN
RETURN '不能创建VBScript.RegExp对象'
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', '<(.[^>]*)>'
IF @hr <> 0 BEGIN
RETURN 'Pattern对象错误'
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', True
IF @hr <> 0 BEGIN
RETURN 'Global对象错误'
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', True
IF @hr <> 0 BEGIN
RETURN 'IgnoreCase对象错误'
END
EXEC @hr = sp_OAMethod @objRegExp, 'Replace', @results OUTPUT, @Textstr,''
IF @hr <> 0 BEGIN
RETURN @Textstr
END
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
RETURN '不能注销VBScript.RegExp对象'
END
-- Set @results = Replace(Replace(Replace(@results,' ',''),' ',''),' ','')
-- RETURN @results
RETURN Replace(Replace(Replace(@results,' ',''),' ',''),' ','')