zoukankan      html  css  js  c++  java
  • SQL Server中利用正则表达式替换字符串

    博客原文来源:http://blog.csdn.net/return_false/article/details/11984613

     1 --如果存在则删除原有函数  
     2 IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL   
     3     DROP FUNCTION dbo.RegexReplace  
     4 GO  
     5 --开始创建正则替换函数  
     6  CREATE FUNCTION dbo.RegexReplace  
     7 (  
     8     @string VARCHAR(MAX),   --被替换的字符串  
     9     @pattern VARCHAR(255),  --替换模板  
    10     @replacestr VARCHAR(255),   --替换后的字符串  
    11     @IgnoreCase INT = 0 --0区分大小写 1不区分大小写  
    12 )  
    13 RETURNS VARCHAR(8000)  
    14 AS   
    15 BEGIN  
    16     DECLARE @objRegex INT, @retstr VARCHAR(8000)  
    17     --创建对象  
    18     EXEC sp_OACreate 'VBScript.RegExp', @objRegex OUT  
    19     --设置属性  
    20     EXEC sp_OASetProperty @objRegex, 'Pattern', @pattern  
    21     EXEC sp_OASetProperty @objRegex, 'IgnoreCase', @IgnoreCase  
    22     EXEC sp_OASetProperty @objRegex, 'Global', 1  
    23     --执行  
    24     EXEC sp_OAMethod @objRegex, 'Replace', @retstr OUT, @string, @replacestr  
    25     --释放  
    26     EXECUTE sp_OADestroy @objRegex  
    27     RETURN @retstr  
    28 END  
    29 GO  
    30 --保证正常运行的话,需要将Ole Automation Procedures选项置为1    
    31 EXEC sp_configure 'show advanced options', 1    
    32 RECONFIGURE WITH OVERRIDE   
    33 EXEC sp_configure 'Ole Automation Procedures', 1    
    34 RECONFIGURE WITH OVERRIDE   

    复制以上代码,到SQL中执行

    然后测试,如下

    1 --2.将姓名倒过来    
    2 SELECT dbo.RegexReplace('John Smith', '([a-z]+)s([a-z]+)', '$2,$1',1)    
    3 /*   
    4 --------------------------------------   
    5 Smith,John   
    6 */    

    在自己的项目中测试:查询结果去掉html标签

    1 Select dbo.RegexReplace('<p><span style="font-size: 14px; line-height: 115%; font-family: 宋体;">(1)您手脚发凉吗?</span><br/></p>','<[^<>]*>','',1)

    结果:

  • 相关阅读:
    C#学习笔记---基础入门(二)
    微软Hololens设备 浅分析
    phpstorm 破解方法
    iOS 审核被拒,日志中找不到苹果返回的creashlog的解决办法
    flutter学习之添加第三方应用
    MAC flutter初步学习
    python Django 连接数据库失败的解决方法
    Python之学习菜鸟教程踩的坑
    Python学习之环境搭建
    tableView reload 不闪动方法
  • 原文地址:https://www.cnblogs.com/zhyue93/p/sql_reg.html
Copyright © 2011-2022 走看看