当前位置: 首页 > news >正文

DB2实现正则表达式

DB2实现正则表达式

功能描述

db2 11.1 及以上版本支持正则表达式,但是db2 10.5及以下版本不支持正则表达式,需要手工创建正则表达式函数。

安装与卸载步骤

================================================================================
== README.txt
==
== 2010-07-30
== IBM IMTE - Project Avalanche
==
== Author: Alexandre Grancher
==
================================================================================This file describes the set of instructions to follow to deploy or to re-deploy
the DB2 regular expressions package.Context
-------
Oracle gives the ability to its users to use regular expresssions functions to 
perform pattern matching directly in their SQL statements.DB2 does not do that natively. Therefore, we have developped a JAVA class to 
implement an API which does pattern matching.
DB2 uses JAVA routines to bind with the implemented JAVA functions.Enablement
----------1- Save attached db2_regex.zip file to a new folder on the hard disk for example to C:\avalanche
2- Extract all files from the zip file to C:\avalanche\db2_regex
3- Open C:\avalanche\db2_regex\scripts\sql\db2_regex_functions.sql.
4- Edit the script to suit your environment, you will need to :4.1- On the first line, change the database name from DB2MIGR to whatever database you are using4.2- On the second line, you will need to change the directory name. If you are using unix the syntax should be something like : CALL SQLJ.INSTALL_JAR('file:/tmp/avalanche/db2_regex/lib/db2_regex.jar', db2_regex);5- In a DB2 command line processor window, run : \>db2 connect to <my_db> user <uid> using <pwd>\>db2 set current schema='REGEXP'\>db2 -td@ -vf C:\avalanche\db2_regex\scripts\sql\db2_regex_functions.sqlIf you have already deployed the package and you want to deploy it again (for 
instance you have modified the JAVA code and you want to try the updated code),
then consider the following set of instructions.1- Extract the zip file into C:\avalanche\db2_regex
From a db2 command window :
2- db2 connect t to <my_db> user <uid> using <pwd>
3- db2 set current schema='REGEXP'
4- db2 drop function REGEXP_LIKE
5- db2 drop function REGEXP_REPLACE
6- db2 drop function REGEXP_SUBSTR
7- db2 drop function REGEXP_INSTR
8- db2 call SQLJ.REMOVE_JAR(db2_regex)
9- db2stop force
10- db2start
11- db2 connect to <my_db> user <uid> using <pwd>
12- db2 set current schema='REGEXP'
13- db2 -td@ -f C:\avalanche\db2_regex\scripts\sql\db2_regex_functions.sql
14- Make sure that no error was raised at any point.API
---The API to the 4 methods is as follows, they closely follow the syntax for the 
Oracle functions defined in http://www.regular-expressions.info/oracle.html.INTEGER REGEXP_LIKE(SOURCE VARCHAR(3000), REGEX VARCHAR(512), MODE VARCHAR(3))VARCHAR(3000) REGEXP_REPLACE(SOURCE VARCHAR(3000), REGEX VARCHAR(512), REPLACEMENT VARCHAR(3000), POSITION INTEGER,OCCURRENCE INTEGER,MODES VARCHAR(3))VARCHAR(3000) REGEXP_SUBSTR(SOURCE VARCHAR(3000),REGEX VARCHAR(512),POSITION INTEGER,OCCURRENCE INTEGER,MODES VARCHAR(3))INTEGER REGEXP_INSTR(SOURCE VARCHAR(3000),REGEX VARCHAR(512),POSITION INTEGER,OCCURRENCE INTEGER,ROPT INTEGER,MODES VARCHAR(3))Further details of each of the parameters passed to the above functions can 
used can be found as Java documentation in 
C:\avalanche\db2_regex\doc\index.html.Examples
--------select ID from REGEXP.REGEXP_STRINGS where REGEXP_LIKE(STRING, '^.EF[ ]+SAVEALIAS[ ]+[0-9]+', 'c') > 0select ID from REGEXP.REGEXP_STRINGS where REGEXP_REPLACE(STRING, '^.EF[]+SAVEALIAS[ ]+[0-9]+', 'XX', 1, 1, 'c')='XX'select ID from REGEXP.REGEXP_STRINGS where REGEXP_SUBSTR(STRING, '^.EF[ ]+SAVEALIAS[ ]+[0-9]+', 1, 1, 'c')='DEF SAVEALIAS 2210'select ID from REGEXP.REGEXP_STRINGS where REGEXP_INSTR(STRING, '^.EF[ ]+SAVEALIAS[ ]+[0-9]+',1, 1, 1, 'c') > 0---------------------------------

常用正则表达式

- 手机规则:规则:手机号以1[3|4|5|6|7|8|9]开头,位数为11位数字示例:13012345678表达式:^[1][3,4,5,6,7,8,9][0-9]{9}$- 电话规则:电话号码可以存在3~4位区号,使用“-”分隔,后面为7~8位数字;示例:有区号:010-12345678  无区号:12345678正则表达式:^([0-9]{3,4}-)?[0-9]{7,8}$- 身份证简单规则:15位或18位数字,或17位数字+大写字母X,其他规则自行调整;正则表达式:(^\d{15}$)|(^\d{17}(\d|X)$)

下载地址

https://download.csdn.net/download/huryer/88101372?spm=1001.2014.3001.5501

相关文章:

DB2实现正则表达式

DB2实现正则表达式 功能描述 db2 11.1 及以上版本支持正则表达式&#xff0c;但是db2 10.5及以下版本不支持正则表达式&#xff0c;需要手工创建正则表达式函数。 安装与卸载步骤 README.txt2010-07-30IBM IMTE - Project AvalancheAuthor: Alexandre GrancherThis file des…...

CASS数据带属性转GIS的shp数据教程

一、数据&#xff1a;DWG文件中含有JZD&#xff08;宗地层&#xff09;&#xff0c;JZP&#xff08;界址点层&#xff09;&#xff0c;其中JZP中含有界址点号&#xff0c;实现JZD层转成ZD的shp数据&#xff1b;JZP转成JZD点的shp数据&#xff0c;并带出界址点号。 二、实现原理…...

Jenkins配置自动化构建的几个问题

在创建构建任务时&#xff0c;填写git远程仓库地址时&#xff0c;出现以下报错 解决此报错先排查一下linux机器上的git版本 git --version 如果git 版本过低&#xff0c;可能会导致拉取失败&#xff0c;此时需要下载更高的git版本。 参考 Git安装 第二个解决办法报错信息中…...

ubuntu 命令调节显示器亮度

1.显示器名字 xrandr -q | grep " connected" HDMI-0 connected primary 1920x108000 (normal left inverted right x axis y axis) 527mm x 297mm DP-4 connected 1920x108019200 (normal left inverted right x axis y axis) 527mm x 297mm 2.调节亮度 xrandr --ou…...

打卡力扣题目七

#左耳听风 ARST 打卡活动重启# 目录 一、题目 二、解题方法一 三、解题方法二 关于 ARTS 的释义 —— 每周完成一个 ARTS&#xff1a; ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一个技术技巧 ● Share:…...

【EI/SCOPUS会议征稿】第三届检测技术与自动化工程国际学术会议 (TTAE 2023)

第三届检测技术与自动化工程国际学术会议 (TTAE 2023)原定将于2023年9月15-17日在中国西安召开。 检测技术与自动化工程国际学术会议将每年举行一次&#xff0c;旨在将“检测技术”和“自动化工程”等学术领域的学者、专家、研发者、技术人员聚集到一个学术交流的平台&#xf…...

时序预测 | Python实现NARX-DNN空气质量预测

时序预测 | Python实现NARX-DNN空气质量预测 目录 时序预测 | Python实现NARX-DNN空气质量预测效果一览基本介绍研究内容程序设计参考资料效果一览 基本介绍 时序预测 | Python实现NARX-DNN空气质量预测 研究内容 Python实现NARX-DNN空气质量预测,使用深度神经网络对比利时空气…...

华为数字化转型之道-读书笔记1

第一章 数字化转型&#xff0c;华为的战略选择 1. 数字化转型是企业的必答题 1.1 解决时代难题&#xff1a;“鲍莫尔成本病” “体验变流量&#xff0c;流量变收入”是其常见的商业模式。数字化平台通过“作业即记录、记录及数据”的方式&#xff0c;能给企业带来很多好处&a…...

环形链表 II(JS)

环形链表 II 题目 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;…...

【字节三面】41. 缺失的第一个正数

41. 缺失的第一个正数 解题思路 在原数组上进行操作 如果数字是2 将其放在索引为1的位置上数字x 放在索引为x - 1的位置上对于长度为n的数组 其中没有出现的最小正整数只能在[1,n 1]引入如果1 - n 这些数都出现了 那么答案就是n 1如果都没有出现完全 那么答案就在[1,n]中没…...

Linux echo命令与反引号、重定向符号以及管道符

echo echo命令echo结合反引号echo结合重定向符echo结合管道符 echo命令 Linux中的echo命令用于在终端输出指定的文本内容或变量值。 基本语法如下&#xff1a; echo [选项] [字符串]常用选项包括&#xff1a; -e&#xff1a;启用特殊字符的解析&#xff0c;例如\n表示换行符…...

HTML基础知识点总结

目录 1.HTML简介 2.HTML基础结构 主要字符&#xff1a; 3.基础知识 &#xff08;一&#xff09;p标签 &#xff08;二&#xff09;hr标签 &#xff08;三&#xff09;尖角号 &#xff08;四&#xff09;版权号 (五)div和span div span (六)列表 &#xff08;1&…...

VS附加到进程调试

操作&#xff1a; 要附加到进程中调试外部可执行文件&#xff0c;您需要使用Visual Studio的“调试附加”功能。以下是附加到进程中调试外部可执行文件的步骤&#xff1a; 打开您要调试的源代码文件或可执行文件。打开Visual Studio。选择“调试”菜单&#xff0c;然后选择“…...

基于深度学习的高精度狗狗检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度狗狗检测识别系统可用于日常生活中检测与定位120类狗狗目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的狗狗目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型训练…...

从互联网到云时代,Apache RocketMQ 是如何演进的?

作者&#xff1a;隆基 2022 年&#xff0c;RocketMQ 5.0 的正式版发布。相对于 4.0 版本而言&#xff0c;架构走向云原生化&#xff0c;并且覆盖了更多业务场景。 消息队列演进史 操作系统、数据库、中间件是基础软件的三驾马车&#xff0c;而消息队列属于最经典的中间件之一…...

XML (可扩展标记语言)

目录 一、概念 二. 使用&#xff1a; 1. 基本语法&#xff1a; 2. 组成部分&#xff1a; &#xff08;1&#xff09;文档声明 &#xff08;2&#xff09; 指令(了解)&#xff1a;结合css &#xff08;3&#xff09; 标签&#xff1a;标签名称自定义 &#xff08;4&#xff09…...

socket()、bind()、listen()、htons()

socket() socket() 是一个系统调用函数&#xff0c;用于创建一个套接字&#xff08;socket&#xff09;&#xff0c;通过该套接字进行网络通信。在这段代码中&#xff0c;socket() 函数被用于创建一个本地套接字。 具体来说&#xff0c;这是 socket() 在代码中的使用方式&…...

提升开发效率,Lombok的链式编程和构建模式

目录 链式编程 定义 代码示例 ​编辑 Accessors(chaintrue) 开启链式编程 ​编辑 Accessors(chain true,fluent true) 去除set和get 构建模式 定义 代码示例 ​编辑 踩坑 Singular 定义 代码示例 踩坑默认值情况 ​编辑 With 定义 代码示例 链式编程 定义 链…...

DuDuTalk:AI语音工牌如何帮助教培公司高效管理课程顾问团队

近年来&#xff0c;随着人工智能的快速发展&#xff0c;越来越多的公司开始利用AI技术来提高工作效率和管理效果。在教育培训行业中&#xff0c;课程顾问团队的管理对于公司的运营和发展至关重要。 而在实际管理中&#xff0c;受教培人员素质参差不齐&#xff0c;能力差异大&a…...

C语言——静态库和动态库的创建和使用

使用库函数是源码的一种保护 库函数其实不是新鲜的东西,我们一直都在用,比如C库。我们执行pringf() 这个函数的时候,就是调用C库的函数. 下面记录静态库和动态库的生成和使用. 静态库:libxxx.a 动态库:libxxx.so 静态库: 在程序编译的时候,将库编译进可执行程序中, 运行的…...

Python 零基础入门——基础语法(一)

常量 程序运行中固定不变的值叫常量。 Python 中常见常量&#xff1a; 数字&#xff1a;100、3.14、-5布尔值&#xff1a;True、False字符串&#xff1a;"hello"、Python空值&#xff1a;None 表达式 由常量、变量、运算符、括号按照一定语法组合而成&#xff0c;最终…...

Ostrakon-VL-8B多模态能力解析:图文联合理解在零售场景的体现

Ostrakon-VL-8B多模态能力解析&#xff1a;图文联合理解在零售场景的体现 1. 零售场景中的多模态挑战 现代零售行业面临着复杂的视觉理解需求。传统计算机视觉系统通常只能完成单一任务&#xff0c;比如商品识别或文字提取&#xff0c;而无法同时理解图像中的多种元素及其相互…...

MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?

一、快速结论&#xff08;先看结论再看分析&#xff09;方式作用效率一句话总结count(*)统计所有行数⭐⭐⭐⭐ 最高我是专业的&#xff01;我为统计而生count(1)统计所有行数⭐⭐⭐⭐ 同样高效我是 count(*) 的马甲兄弟count(列名)统计该列非 NULL 的行数⭐⭐⭐ 较慢我挑剔&…...

用LingBot-Depth解决实际问题:如何修复不完整的深度传感器数据?

用LingBot-Depth解决实际问题&#xff1a;如何修复不完整的深度传感器数据&#xff1f; 1. 深度传感器数据修复的挑战 深度传感器在机器人导航、三维重建和增强现实等领域发挥着关键作用&#xff0c;但原始传感器数据往往存在各种问题&#xff1a; 数据缺失&#xff1a;由于…...

《AI 小游戏开发(5)|零基础复刻经典贪吃蛇!AI 生成完整代码,支持难度切换》

目录 一、本课目标 二、需要准备的工具 三、超详细操作步骤(分两步:生成基础代码 → 添加难度切换) 第一步:生成基础贪吃蛇游戏(AI 一键生成) 1. 给 AI 的详细提示词(复制完整) 2. 复制 AI 生成的基础代码 3. 保存并运行基础游戏 第二步:给游戏添加难度切换功…...

intv_ai_mk11效果展示:真实用户提问‘如何提高店铺转化率’获得4维度可执行策略

intv_ai_mk11效果展示&#xff1a;真实用户提问如何提高店铺转化率获得4维度可执行策略 1. 案例背景与问题描述 在电商运营中&#xff0c;店铺转化率是衡量经营效果的核心指标之一。某服装店铺运营人员向intv_ai_mk11 AI对话机器人提出了一个典型问题&#xff1a;"如何提…...

开源协议解析与合规实践指南

1. 开源协议的本质与重要性作为一名在软件行业摸爬滚打十多年的开发者&#xff0c;我见过太多因为忽视开源协议而引发的纠纷案例。记得2018年某创业团队就因误用GPL协议代码导致整个产品被迫开源&#xff0c;最终项目流产。开源协议绝非一纸空文&#xff0c;它直接关系到开发者…...

流图与地平线图

1. 流图&#xff1a;数据的河流如果把传统的堆叠面积图想象成一块块整齐堆叠的积木&#xff0c;那么流图就像一条蜿蜒流淌的河流&#xff0c;河道的宽窄变化自然流畅&#xff0c;波峰波谷过渡平滑。它特别适合展示多个类别数据随时间的变化趋势&#xff0c;尤其是当你想强调整体…...

5个专业级步骤:DriverStore Explorer驱动管理工具解决Windows系统稳定性难题

5个专业级步骤&#xff1a;DriverStore Explorer驱动管理工具解决Windows系统稳定性难题 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 问题剖析&#xff1a;为什么常规方法无法解决驱…...

改进遗传算法求解分布式柔性作业车间调度问题 Matlab代码 考虑多工厂约束,以最小化最大完工...

改进遗传算法求解分布式柔性作业车间调度问题 Matlab代码 考虑多工厂约束&#xff0c;以最小化最大完工时间为目标函数&#xff0c;使用ipox、ux两种交叉方式&#xff0c;改进G-L-R初始化机制提升初始种群质量&#xff0c;使用变邻域搜索机制对空间进行局部搜索 更换关键工厂中…...