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

  • 相关阅读:
    滑动切换界面---单Activity
    Error: "Call requires API level 11 (current min is 8): android.app.Activity#onCreateView"
    Toast 信息提示框
    ClipboardManager
    Java 获取 catch到的异常的StackTrace
    Android Button事件
    Android EditText 多行,滚动条 等
    Java String.split
    遇到的情况记录
    javah 的路径
  • 原文地址:https://www.cnblogs.com/PrintY/p/14520378.html
Copyright © 2011-2022 走看看