Oracle切割字符串的方法,SQL语句完成。

news/2024/10/18 18:28:45/

Oracle用正则的方式循环切割字符串

需求:有一个这样子的
Str = “‘CNJ-520-180500000001|CNJ-520-181200000001|CNJ-520-190300000001|CNJ-520-190100000001|CNJ-520-181200000002’”
,然后我需要拿到每一个单号,每一个单号都要走一遍固定的逻辑。

方法:
我们需要使用oracle中的正则表达式进行字符匹配,去掉“|”这个的特殊符号。

然后还要使用递归子句来执行递归操作,以便于完整的操作这个字符串。

为了能够正常的执行,还需要加上一个递归条件。

这个sql大抵是这样的。


SELECT TRIM(REGEXP_SUBSTR('STR', '[^|]+', 1, LEVEL)) AS single_order
FROM dual
CONNECT BY REGEXP_SUBSTR('STR', '[^|]+', 1, LEVEL) IS NOT NULLAND PRIOR SYS_GUID() IS NOT NULL
START WITH 'STR' IS NOT NULL;

这里面的输出结果为:

在这里插入图片描述
这样子在使用游标,就可以循环拿到单号,从第一个到最后一个了。

判断一个字符串中是否包含某个字符串?

在这里插入图片描述

首先看到,这个里面是有三个单号,然后是有两个“|”的。

在这里插入图片描述
直接查某一个列,出现了这个符号多少次。

SELECT REGEXP_COUNT(indc003, '\|') 出现多少次
FROM indc_t
WHERE indcent = 99 and indcdocno = 'CNJ-D2B-202308000018'

在这里插入图片描述
直接查列名,也可以直接count看一下,如果大于0 就说明是存在的。

使用

  • instr(indc003,‘|’) > 0

判断。


http://www.ppmy.cn/news/1033288.html

相关文章

CVPR 2023 | 用户可控的条件图像到视频生成方法(基于Diffusion)

注1:本文系“计算机视觉/三维重建论文速递”系列之一,致力于简洁清晰完整地介绍、解读计算机视觉,特别是三维重建领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, NeurIPS, ICLR, ICML, TPAMI, IJCV 等)。 本次介绍的论…

Springboot 设置统一的请求返回格式

现在开发过程中主要采用前后端分离的方式进行开发测试,也就是前端封装请求,后端提供标准的API接口服务。一般现在json 格式受到开发者们的青睐,学习过程中我们可以设置接口的返回类型,那么怎么做到设置统一的返回格式呢&#xff1…

为什么爬虫要用高匿代理IP?高匿代理IP有什么优点

只要搜代理IP,度娘就能给我们跳出很多品牌的推广,比如我们青果网路的。 正如你所看到的,我们厂商很多宣传用词都会用到高匿这2字。 这是为什么呢?高匿IP有那么重要吗? 这就需要我们从HTTP代理应用最多最广的&#xf…

关于vue,记录一次修饰符.stop和.once的使用,以及猜想。

内置指令 | Vue.js 在vue的api里&#xff0c;关于v-on有stop和once两个事件标签。 .stop - 调用 event.stopPropagation()。.once - 最多触发一次处理函数。 原有主要代码和页面效果 &#xff08;无stop和once&#xff09;: ...<div class"div" click"di…

git Authentication failed

情况是这样的&#xff0c;之前看代码只是clone了一份&#xff0c;但随着分支越来越多&#xff0c;有时候切换分支时必须先把修改的代码 stash 一下&#xff0c;觉得很麻烦&#xff0c;于是又clone了一份代码。然后pull代码是正常的&#xff0c;当push 代码的时候&#xff0c;去…

【微服务技术一】Eureka、Nacos、Ribbon(配置管理、注册中心、负载均衡)

微服务技术一 技术栈图一、注册中心Eureka概念&#xff1a;搭建EurekaServer服务注册服务发现&#xff08;消费者对提供者的远程调用&#xff09; 二、Ribbon负载均衡负载均衡的原理&#xff1a;LoadBalanced负载均衡的策略&#xff1a;IRule懒加载 三、Nacos注册中心Nacos的安…

sklearn应用线性回归算法

目录 实现线性回归算法 1) 准备数据 2) 实现算法 线性回归步骤 sklearn实现朴素贝叶斯

ubuntu 安装 python3.9

一、 相关背景 之前在dockerfile里面一直使用的是python3.8&#xff08;忘记为什么选择这个版本了&#xff09;&#xff0c;想用python3.9&#xff0c;因为觉得3.8有点老了&#xff0c;而且3.9一个重要的feature&#xff0c;是把list作为默认的类型&#xff0c;不需要从typing…