zoukankan      html  css  js  c++  java
  • sql server 实现正则表达式的使用

     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

    清除非数字字符

    SELECT dbo.RegexReplace('Joh44n  Shop/114Smd1ith', '[^0-9]', '',1) 

    感谢:https://www.jb51.net/article/107494.htm

  • 相关阅读:
    Access使用记录
    html js 表单提交前检测数据
    asp.net mvc5 action多个参数
    asp.net mvc Areas 母版页动态获取数据进行渲染
    asp.net mvc 自定义全局过滤器 验证用户是否登录
    .net 报错汇总——持续更新
    数据库基础
    Python协程
    Python 线程
    Python 队列
  • 原文地址:https://www.cnblogs.com/PrintY/p/14520378.html
Copyright © 2011-2022 走看看