CREATE function dbo.regexReplace
(
@source ntext, --原字符串
@regexp varchar(1000), --正则表达式
@replace varchar(1000), --替换值
@globalReplace bit = 1, --是否是全局替换
@ignoreCase bit = 0 --是否忽略大小写
)
returnS varchar(1000) AS
begin
declare @hr integer
declare @objRegExp integer
declare @result varchar(5000)
exec @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'Global', @globalReplace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignoreCase
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OAMethod @objRegExp, 'Replace', @result OUTPUT, @source, @replace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OADestroy @objRegExp
IF @hr <> 0 begin
return null
end
return @result
end 

配置对扩展存储过程的支持

Microsoft SQL Server 2005 -> 配置工具 -> 外围应用配置器 -> 功能的外围应用配置 -> Ole自动化:支持Ole自动化

Microsoft SQL Server 2008 -> 在服务器节点上,点击右键,选择“方面”,然后可以看到有很多方面的设置,其中有一项就是“外围应用配置器”

使用举例1 代码如下:


declare @source nvarchar(4000)
set @source = 'dsafsdf'
select dbo.regexReplace(@source, '\<[^\>]+\>', '', 1, 1)

使用举例2: (将数据库字段中含有<font color='#ff0000'>aaa</font>替换为<font>aaa</font>)
Select id,dbo.regexReplace(字段,'<font([^>])*>','<font>',1,0) AS 别名 From 表

SQL Server 2005,2008 正则表达式 替换函数应用详解相关推荐

  1. Sql server 2005 中的dense_rank()函数的应用

    sql server 2005 排名提供dense_rank() 函数.实现起来非常简单. 示例如下: declare @t table(place int,score int) insert int ...

  2. 监控 SQL Server (2005/2008) 的运行状况--来自微软TetchNet - 邀月 - 博客园

    邀月工作室 监控 SQL Server (2005/2008) 的运行状况--来自微软TetchNet 原文地址: http://technet.microsoft.com/zh-cn/library ...

  3. SQL Server 2005/2008 图形界面(SQL Server Management Studio Express)

    SQL Server 2005/2008 图形界面(SQL Server Management Studio Express)2009年03月25日 星期三 18:28SQL 2005 新建数据库 S ...

  4. iis6上安装PHP5.3.2及连接到SQL Server 2005/2008的设置(原创)

    iis6上安装PHP5.3.2及连接到SQL Server 2005/2008的设置(原创) 新增一台win2003 server系统的服务器.以前其他的服务器上使用php5.0/5.1,数据库是SQ ...

  5. SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法

    2019独角兽企业重金招聘Python工程师标准>>> 一直想把数据库的默认路径修改一下,在网上找了一下,真的发现有办法 , 特拿 来与大家共同分享. 以下仅为参照,如果有多个实例, ...

  6. win2008不能连接mysql_win2008 r2 安装sql server 2005/2008 无法连接服务器解决方法

    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. 在使用G2服务时,测试服务器 ...

  7. SQL SERVER 2005允许自定义聚合函数

    不多说了,说明后面是完整的代码,用来将字符串型的字段的各行的值拼成一个大字符串,也就是通常所说的Concat 例如有如下表dict  ID  NAME  CATEGORY  1 RED  COLOR  ...

  8. 在sql server中用正则表达式替换html标签,SQL Server中利用正则表达式替换字符串

    建立正则替换函数,利用了OLE对象,以下是函数代码: --如果存在则删除原有函数 IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL DROP FUNCTION ...

  9. SQL Server 2005/2008 导入导出数据常见报错

    数据库导入导出时总失败,错误信息如下: 正在验证 (错误) 消息 错误 0xc0202049: 数据流任务 1: 无法在只读列"ID"中插入数据.  (SQL Server 导入和 ...

最新文章

  1. Eureka 服务注册与发现02——集群版
  2. Redis _面试经典
  3. Chatbot大牛推荐:AI、机器学习、深度学习必看9大入门视频
  4. 干货 | 深度学习模型超参数搜索实用指南
  5. RabbitMQ八:交换机类型Exchange Types--Topic介绍
  6. mybatis3的中文官方文档
  7. 庄子:谁知南华秋水意?
  8. 金仓数据库KingbaseES与Oracle大对象类型之间的区别
  9. pval(pval胶水可以粘塑料吗)
  10. IEEE格式如何使用在线参考文献生成器
  11. 如何使用Transformers和Tokenizers从头开始训练新的语言模型
  12. 码工成长手册:刚毕业的程序员如何快速提升自己?
  13. Allegro中显示两种单位方法
  14. ArcGIS pro/ArcGIS 10.6及以上版本的最强工具箱——“WhiteboxTools”(468新功能:GIS分析,水文分析,图像分析,激光雷达分析,数学和统计分析,数据流网络分析和)!
  15. faststone capture注册码
  16. Vue父组件mounted执行完后再执行子组件mounted执行顺序问题
  17. mysql成绩表_mysql--学生课程成绩表
  18. 寻创业投资100万以上
  19. PythonGUI简单学生管理系统
  20. 金融经济学(王江)第四章 套利和资产定价

热门文章

  1. SpringMVC之context-dispatcher.xml,了解基本的控制器
  2. js基础练习题 二次封装函数
  3. Java多线程使用场景
  4. CQRS, Task Based UIs, Event Sourcing agh!
  5. 人很臭尽量往香里去做...
  6. 通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据
  7. 设计优秀API的五大规则
  8. EditorGridPanel的网格样式以及编辑属性设置
  9. Visual Studio 2008 每日提示(二十三)
  10. 有品产品专家盖勇:如何做出超越用户期待的智能硬件产品?