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

 更新时间:2017年03月05日 16:51:44   作者:小熊吉米  
这篇文章主要介绍了SQL Server中利用正则表达式替换字符串的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

建立正则替换函数,利用了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中利用正则表达式替换字符串的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言小编会及时回复大家的!

相关文章

  • 详解DB2 sqlstate 57016 SQLCODE=-668 原因码

    详解DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法

    db2 sqlstate 57016,db2 57016 原因码7错误怎么解决呢?下面小编给大家带来了DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法,一起看下吧
    2016-08-08
  • SELECT...INTO的具体用法

    SELECT...INTO的具体用法

    本文主要介绍了SELECT...INTO的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • SQL查询数据库中符合条件的记录的总数

    SQL查询数据库中符合条件的记录的总数

    这篇文章主要介绍了SQL查询数据库中符合条件的记录的总数的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 浅谈一次与sql注入 & webshell 的美丽“邂逅”

    浅谈一次与sql注入 & webshell 的美丽“邂逅”

    这篇文章主要介绍了浅谈一次与sql注入 & webshell 的美丽“邂逅”,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • SQL Server中修改“用户自定义表类型”问题的分析与方法

    SQL Server中修改“用户自定义表类型”问题的分析与方法

    这篇文章主要给大家介绍了关于SQL Server中修改“用户自定义表类型”问题的分析与方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • 一文教会你在sqlserver中创建表

    一文教会你在sqlserver中创建表

    在使用SQL server新建数据库后,接下来我们就需要新建表了,下面这篇文章主要给大家介绍了关于在sqlserver中创建表的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • sqlserver 高性能分页实现分析

    sqlserver 高性能分页实现分析

    SQLServer中有一个Set Rowcount的的设置,它的意思是使命令的处理在响应指定的行数之后停止处理命令,利用这个特点,我们可以借用它来在一个千万行级数据表中实现高性能分页查询。
    2011-04-04
  • SQL中WITH AS的使用实现

    SQL中WITH AS的使用实现

    WITH AS短语,也叫做子查询部分,可以定义一个SQL片断,该SQL片断会被整个SQL语句用到,本文主要介绍了SQL中WITH AS的使用实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • sqlserver 存储过程动态参数调用实现代码

    sqlserver 存储过程动态参数调用实现代码

    sqlserver 存储过程动态参数调用实现代码,需要的朋友可以参考下。
    2011-10-10
  • SqlServer使用 case when 解决多条件模糊查询问题

    SqlServer使用 case when 解决多条件模糊查询问题

    这篇文章主要介绍了SqlServer使用 case when 解决多条件模糊查询问题 的相关资料,需要的朋友可以参考下
    2015-12-12

最新评论