SQL Server中利用正则表达式替换字符串的方法

发布时间 - 2026-01-10 23:26:56    点击率:

建立正则替换函数,利用了OLE对象,以下是函数代码:

--如果存在则删除原有函数 
IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL 
 DROP FUNCTION dbo.RegexReplace 
GO 
--开始创建正则替换函数 
 CREATE FUNCTION dbo.RegexReplace 
( 
 @string VARCHAR(MAX), --被替换的字符串 
 @pattern VARCHAR(255), --替换模板 
 @replacestr VARCHAR(255), --替换后的字符串 
 @IgnoreCase INT = 0 --0区分大小写 1不区分大小写 
) 
RETURNS VARCHAR(8000) 
AS 
BEGIN 
 DECLARE @objRegex INT, @retstr VARCHAR(8000) 
 --创建对象 
 EXEC sp_OACreate 'VBScript.RegExp', @objRegex OUT 
 --设置属性 
 EXEC sp_OASetProperty @objRegex, 'Pattern', @pattern 
 EXEC sp_OASetProperty @objRegex, 'IgnoreCase', @IgnoreCase 
 EXEC sp_OASetProperty @objRegex, 'Global', 1 
 --执行 
 EXEC sp_OAMethod @objRegex, 'Replace', @retstr OUT, @string, @replacestr 
 --释放 
 EXECUTE sp_OADestroy @objRegex 
 RETURN @retstr 
END 
GO 
--保证正常运行的话,需要将Ole Automation Procedures选项置为1 
EXEC sp_configure 'show advanced options', 1 
RECONFIGURE WITH OVERRIDE 
EXEC sp_configure 'Ole Automation Procedures', 1 
RECONFIGURE WITH OVERRIDE 
--2.将姓名倒过来 
SELECT dbo.RegexReplace('John Smith', '([a-z]+)\s([a-z]+)', '$2,$1',1) 
/* 
-------------------------------------- 
Smith,John 
*/ 
--------------------------------------------------

只有对写程序充满热情,才能写出好的程序!

以上所述是小编给大家介绍的SQL Server中利用正则表达式替换字符串的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言小编会及时回复大家的!


# sql  # server替换字符串  # 正则表达式替换字符串  # MySQL 字符串模式匹配 扩展正则表达式模式匹配  # mysql 字符串正则表达式及说明  # SQL中的字符串正则表达式常见示例代码  # 小编  # 给大家  # 所述  # 给我留言  # 正常运行  # 倒过来  # 有任何  # 正则表达式  # replacestr  # IgnoreCase  # MAX  # pattern  # INT  # objRegex  # retstr  # EXEC  # RETURNS  # DECLARE  # VARCHAR  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  JS实现鼠标移上去显示图片或微信二维码  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Laravel如何实现一对一模型关联?(Eloquent示例)  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何获取PHP WAP自助建站系统源码?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  在线制作视频的网站有哪些,电脑如何制作视频短片?  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  详解Android中Activity的四大启动模式实验简述  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何彻底卸载建站之星软件?  网易LOFTER官网链接 老福特网页版登录地址  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  如何在Windows服务器上快速搭建网站?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  新三国志曹操传主线渭水交兵攻略  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  UC浏览器如何设置启动页 UC浏览器启动页设置方法  油猴 教程,油猴搜脚本为什么会网页无法显示?  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  如何在云指建站中生成FTP站点?  Python文件异常处理策略_健壮性说明【指导】  Laravel怎么调用外部API_Laravel Http Client客户端使用  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Python进程池调度策略_任务分发说明【指导】  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  如何在景安云服务器上绑定域名并配置虚拟主机?  如何在宝塔面板中修改默认建站目录?  5种Android数据存储方式汇总  IOS倒计时设置UIButton标题title的抖动问题  佛山企业网站制作公司有哪些,沟通100网上服务官网?  网站图片在线制作软件,怎么在图片上做链接?  什么是javascript作用域_全局和局部作用域有什么区别?  如何快速重置建站主机并恢复默认配置?  Laravel怎么为数据库表字段添加索引以优化查询  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何快速生成可下载的建站源码工具?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  php打包exe后无法访问网络共享_共享权限设置方法【教程】  手机软键盘弹出时影响布局的解决方法