如何使用Regex在Sql Server中使用替换功能

时间:2018-05-08 15:13:07

标签: sql-server

问题陈述:

我有超过100万条记录在表的说明列中有长html文本数据。我想使用SQL Server中提供的REPLACE函数替换文本中的Html标记。

示例:

<div style='width:100%;height:500px;'> 
            Some text here <span style='color:red;'> sample text </span>
            <img src='[image url here]' alt='test image' />
           </div>

预期输出:此处的一些文字示例文字

解决方案:我已经创建了一个函数,它从文本中删除所有html标记并返回纯文本。但是,这种方法需要花费很长时间,因为它会迭代所提供文本中的每个html标记并填充它。

所以我想用Regex的REPLACE函数一次性替换所有的html标签。

我见过许多带有正则表达式的REPLACE函数的例子,但没有一个对我有效。

我想的方法就像:

DECLARE @HtmlText NVARCHAR(MAX) = `<div style='width:100%;height:500px;'>

这里有一些文字 示例文本`

SELECT REPLACE(@HtmlText, '<%>', '')

从上面的查询中我希望它能找到像我这样的html标签:<div style='width:100%;height:500px;'>并将其替换为空白。 同样适用于其他html标签。

请帮助我使用正确的正则表达式,我可以在我的REPLACE中使用。

提前致谢。

0 个答案:

没有答案