SQL Server中利用正则表达式替换字符串的方法
程序员文章站
2022-03-09 23:47:27
建立正则替换函数,利用了ole对象,以下是函数代码:
--如果存在则删除原有函数
if object_id(n'dbo.regexreplace') is n...
建立正则替换函数,利用了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中利用正则表达式替换字符串的方法,希望对大家有所帮助
上一篇: C语言 TerminateProcess函数案例详解
下一篇: 一篇文章带你了解kali局域网攻击