SQL Server正则表达式 替换函数应用详解

来源:asp之家 时间:2023-07-07 23:53:13 

--SQL正则替换函数

代码如下:


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自动化
使用举例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正则表达式,替换
0
投稿

猜你喜欢

  • 在python中logger setlevel没有生效的解决

    2021-12-13 16:03:01
  • 简单介绍Python中的round()方法

    2023-05-01 11:57:10
  • MySQL 8.0 之不可见列的基本操作

    2024-01-18 17:32:41
  • MySQL数据库表中的约束详解

    2024-01-28 16:39:17
  • Python中的if判断语句中包含or问题

    2021-12-03 14:30:21
  • 一个提高了近10%转化率的改进

    2009-05-22 12:40:00
  • Go语言操作MySQL的知识总结

    2024-01-26 01:43:17
  • 搜索结果页(SERP):个性化如何影响用户行为?

    2009-07-22 21:00:00
  • 为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)

    2024-05-10 14:09:54
  • asp.net中文件下载功能的实例代码

    2023-07-20 15:46:51
  • php修改NetBeans默认字体的大小

    2024-06-05 09:48:07
  • SQL中JOIN和UNION区别、用法及示例介绍

    2012-08-21 10:47:22
  • 通过js脚本复制网页上的一个表格的不错实现方法

    2024-04-23 09:16:19
  • 如何用ASP获知机器的网络配置?

    2010-06-11 19:58:00
  • Python 实现opencv所使用的图片格式与 base64 转换

    2021-02-28 11:59:09
  • vue动态设置页面title的方法实例

    2023-07-02 16:38:56
  • python selenium参数详解和实现案例

    2023-09-25 01:20:29
  • response.setHeader()方法设置http文件头的值

    2010-03-11 22:43:00
  • MYSQL数据库表设计与优化(一)

    2010-10-25 19:50:00
  • 用javascript结合Cookies记录浏览历史

    2008-02-12 12:37:00
  • asp之家 网络编程 m.aspxhome.com