SQL Server[转]在SQL中用正则表明式替换html标签

SQL Server 1

出于数据库的二个表字段中多含有html标签,现在内需修改数据库的字段把html标签都替换掉。当然作者得以经过写一个顺序去修改,那到底有点麻烦。直接在查询分析器中履行,但是MS
SQL
Server并没有提供正则表明式,替换html标签可不那么不难。大家能够经过CL索罗德托管来完成贰个经过正则表明式来替换html标签的自定义函数。(注:SQL
CLLacrosse只可以在MS SQL Server 二零零五或上述版本中适用)

[c-sharp] view
plain
copyprint?

SQL Server 2

其次步:配置连接的数据库

SQL Server 3

SQL Server 4

启用那些安顿后,你就能够调用刚刚自定义的函数了.

结果为:aaa

 

  1. using System; 
  2. using System.Data; 
  3. using System.Data.SqlClient; 
  4. using System.Data.SqlTypes; 
  5. using Microsoft.SqlServer.Server; 
  6. using System.Text.RegularExpressions; 
  7. public partial class UserDefinedFunctions 
  8.     publicstaticreadonly
    RegexOptions Options = RegexOptions.IgnorePatternWhitespace |
    RegexOptions.Singleline; 
  9.     [Microsoft.SqlServer.Server.SqlFunction] 
  10.     publicstatic SqlString ReplaceHtml(SqlChars input,
    SqlString pattern,SqlString replace) 
  11.     { 
  12.         // 在此地放置代码 
  13.         Regex regex = new
    Regex(pattern.Value, Options); 
  14.         return regex.Replace(newstring(input.Value),replace.Value); 
  15.     } 
  16. }; 

布署了后头,你钦定的连年数据库上边会扭转多少个自定义函数和叁个程序集(如图)

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>’,'<(.[^>]*)>’,”)

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); } };

其三步:添加3个自定义函数

能够经过 添加新引用 来添加三个数据库连接(只适用MS SQL Server
二〇〇六或以上版本,再一次提醒哦),添加现在采取个中三个数据库点击鲜明。

 

点击上一步明确后,出现如下提醒框

 

 

 

 

下一场就足以调用自定义函数了,但是调用自定义函数前,你还得启用一些安插

调用

正文转自:http://blog.csdn.net/dhttaso/article/details/6045380

第①步:通过Visual Studio 二零零六新建二个SQL Server项目

第五步:陈设,类编排成功后实行布置

SQL Server 5

相关文章