在SQL中用正则表达式替换html标签

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 原文: 在SQL中用正则表达式替换html标签   由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉。当然我可以通过写一个程序去修改,那毕竟有点麻烦。
原文: 在SQL中用正则表达式替换html标签

 

由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉。当然我可以通过写一个程序去修改,那毕竟有点麻烦。直接在查询分析器中执行,但是MS SQL Server并没有提供正则表达式,替换html标签可不那么容易。我们可以通过CLR托管来实现一个通过正则表达式来替换html标签的自定义函数。(注:SQL CLR只能在MS SQL Server 2005或以上版本中适用)

第一步:通过Visual Studio 2008新建一个SQL Server项目

 

 

第二步:配置连接的数据库

点击上一步确定后,出现如下提示框

 

可以通过 添加新引用 来添加一个数据库连接(只适用MS SQL Server 2005或以上版本,再次提醒哦),添加以后选择其中一个数据库点击确定。

第三步:添加一个自定义函数

然后编写自定义函数的类(需要注意的是类的方法必须是静态的)

using System; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; using System.Text.RegularExpressions; public partial class UserDefinedFunctions { public static readonly RegexOptions Options = RegexOptions.IgnorePatternWhitespace | RegexOptions.Singleline; [Microsoft.SqlServer.Server.SqlFunction] public static SqlString ReplaceHtml(SqlChars input, SqlString pattern,SqlString replace) { // 在此处放置代码 Regex regex = new Regex(pattern.Value, Options); return regex.Replace(new string(input.Value),replace.Value); } };  

 

第四步:部署,类编写完成后进行部署

部署了以后,你指定的连接数据库下面会生成一个自定义函数和一个程序集(如图)

然后就可以调用自定义函数了,不过调用自定义函数前,你还得启用一些配置

EXEC sp_configure 'allow updates',0 
EXEC sp_configure 'show advanced options', 1 -- make them available
reconfigure
EXEC sp_configure 'clr enabled', 1 -- turn on OLE
reconfigure

启用这些配置后,你就可以调用刚刚自定义的函数了.

调用

select dbo.ReplaceHtml('<p>aaa</p>','<(.[^>]*)>','')

结果为:aaa

 

 

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2天前
HTML中的<iframe>标签及其属性
HTML中的<iframe>标签及其属性
14 5
|
2天前
HTML中的<br>、<hr>和<pre>标签使用指南
HTML中的<br>、<hr>和<pre>标签使用指南
10 2
|
2天前
|
JavaScript UED
HTML中的<a>标签使用指南
HTML中的<a>标签使用指南
16 6
|
2天前
|
存储 前端开发 UED
HTML中的<img>标签使用指南
HTML中的<img>标签使用指南
12 3
|
2天前
|
前端开发 JavaScript 搜索推荐
HTML标签是如何定义网页内容的显示方式的?
【6月更文挑战第28天】HTML标签是如何定义网页内容的显示方式的?
8 2
|
2天前
|
Web App开发 移动开发 搜索推荐
HTML <meta> 标签及其属性介绍
HTML <meta> 标签及其属性介绍
8 1
|
2天前
|
算法 前端开发 JavaScript
HTML中的文本标签:微观排版的艺术
HTML中的文本标签:微观排版的艺术
7 1
|
2天前
|
JavaScript 前端开发 UED
HTML标签的工作原理是什么?
【6月更文挑战第28天】HTML标签的工作原理是什么?
7 1
|
16天前
|
存储 JavaScript 前端开发
HTML标签data-属性的作用
HTML标签data-属性的作用
|
16天前
|
移动开发 HTML5 前端开发
【网页搭建基石】:揭秘HTML标签的魔法世界
【网页搭建基石】:揭秘HTML标签的魔法世界