CREATE FUNCTION LoseHtml
(
@source varchar(5000)
)
RETURNS varchar(5000)
AS
BEGIN
DECLARE @hr integer
DECLARE @objRegExp integer
DECLARE @objMatches integer
DECLARE @objMatch integer
DECLARE @getvalue varchar
DECLARE @returnvalue integer
DECLARE @results bit
EXEC @hr = sp_OACreate 'VBScript.RegExp',@objRegExp OUTPUT
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern','<\/*[^<>]*>'
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global',true
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase',true
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @getvalue = sp_OAMethod @objRegExp,'Replace',@returnvalue OUTPUT,@source
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
RETURN @getvalue
END
我想实现asp中下面这个函数的功能。
Function LoseHtml(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<\/*[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseHtml = ClsTempLoseStr
End function
请大家帮我看看这个错在哪里?我搞了半天了,它输出给我的总是 '*'....
(
@source varchar(5000)
)
RETURNS varchar(5000)
AS
BEGIN
DECLARE @hr integer
DECLARE @objRegExp integer
DECLARE @objMatches integer
DECLARE @objMatch integer
DECLARE @getvalue varchar
DECLARE @returnvalue integer
DECLARE @results bit
EXEC @hr = sp_OACreate 'VBScript.RegExp',@objRegExp OUTPUT
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern','<\/*[^<>]*>'
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global',true
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase',true
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @getvalue = sp_OAMethod @objRegExp,'Replace',@returnvalue OUTPUT,@source
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
RETURN @getvalue
END
我想实现asp中下面这个函数的功能。
Function LoseHtml(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<\/*[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseHtml = ClsTempLoseStr
End function
请大家帮我看看这个错在哪里?我搞了半天了,它输出给我的总是 '*'....
解决方案 »
- sql数据导入到oracle中
- 查询最低价的物料
- 从excel导入的数值在SQLServer中(nvarchar)怎么变了?
- 求SQL Server存储过程:关键字匹配多个字段
- 在存儲過程中,我使用實體Table就可以,將其換成臨時Table就會報錯:Cannot resolve collation conflict for equal to operation.
- t-sql 如何查询图书续借的语句
- [求助]SQL Server2000存储过程问题
- 请教 一句sql 语句
- 关于在Select(MSSQL)使用函数查询问题
- UPDATE developer_out_apply
- 两台SqlServer之间可不可以建视图
- sql语句请教
这个应该就是问题的原因
When character expressions are converted to a data type of a different size, values too long for the new data type are truncated, and SQL Server displays an asterisk (*) in both the osql utility and SQL Query Analyzer. When numeric expressions are too long for the new data type to display, values are truncated. This is an example of character truncation: USE pubs
SELECT SUBSTRING(title, 1, 25) AS Title, CONVERT(char(2), ytd_sales)
FROM titles
WHERE type = 'trad_cook' Here is the result set: Title
------------------------- --
Onions, Leeks, and Garlic *
Fifty Years in Buckingham *
Sushi, Anyone? *
下面这个是正确的....
CREATE FUNCTION LoseHtml
(
@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