SQL Server中利用正则表达式替换字符串
来源:互联网 发布:简单的c语言程序例子 编辑:程序博客网 时间:2024/05/20 22:04
建立正则替换函数,利用了OLE对象,以下是函数代码:
--如果存在则删除原有函数IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL DROP FUNCTION dbo.RegexReplaceGO--开始创建正则替换函数 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', @patternEXEC sp_OASetProperty @objRegex, 'IgnoreCase', @IgnoreCaseEXEC sp_OASetProperty @objRegex, 'Global', 1--执行EXEC sp_OAMethod @objRegex, 'Replace', @retstr OUT, @string, @replacestr--释放EXECUTE sp_OADestroy @objRegexRETURN @retstrENDGO--保证正常运行的话,需要将Ole Automation Procedures选项置为1 EXEC sp_configure 'show advanced options', 1 RECONFIGURE WITH OVERRIDE EXEC sp_configure 'Ole Automation Procedures', 1 RECONFIGURE WITH OVERRIDE复制以上代码,到SQL中执行
然后测试,如下
--2.将姓名倒过来 SELECT dbo.RegexReplace('John Smith', '([a-z]+)\s([a-z]+)', '$2,$1',1) /* -------------------------------------- Smith,John */
- SQL Server中利用正则表达式替换字符串
- SQL Server中利用正则表达式替换字符串
- SQL Server中利用正则表达式替换日期中的"-|:| "字符串为空
- 【转】在EditPlus中利用正则表达式替换字符串
- Vim利用正则表达式替换匹配字符串
- Java中利用正则表达式将字符串中斜杠替换成双斜杠
- MySql 中sql替换字符、正则表达式
- 正则表达式替换字符串
- SQL SERVER 正则替换
- js 利用正则表达式替换字符串中指定字符
- SQL SERVER 2008R2 CLR 正则表达式替换
- SQL server替换字符串
- java中正则表达式替换字符串中的中括号
- SQL Server 2000 中使用正则表达式
- SQL Server 2000 中使用正则表达式
- SQL Server 2000 中使用正则表达式
- SQL Server 2000 中使用正则表达式
- SQL Server 2000 中使用正则表达式
- 拉卡拉手机刷卡器音频通讯技术原理初步分析
- 【一天一篇CPP】inline、类的存储,简单的构造函数、析构函数
- win7下GraphEdit无法查看filter graph
- android的Touch事件onInterceptTouchEvent和onTouchEvent
- 递归算法及经典递归例子代码实现
- SQL Server中利用正则表达式替换字符串
- 位域使用注意
- 如何查看APK内文件
- 深入源码之SLF4J
- expdp/impdp参数说明
- 2013 ACM/ICPC Asia Regional Changsha Online Travel by Bike (基础题)
- OpenCV配置VS2010路径
- 小思不是那样子的!
- jQuery 表格排序插件