大数据-玩转数据-oracel字符串分割转化为多列

news2024/11/18 11:41:56

一、建表

create table split_string_test(
  id integer  primary key,
  test_string varchar2(500)
);

二、插入测试数据

insert into split_string_test values(1, '10,11,12,13,14,22');
insert into split_string_test values(2, '22,23,24');
insert into split_string_test values(3, '6,7,8,9');

三、语句

WITH  cntr  AS
( SELECT  LEVEL  AS lvl
  FROM  dual
  CONNECT BY  LEVEL  <= 1 +  (
          SELECT  MAX ( length(a.test_string) - length(replace(a.test_string, ',')) + 1) 
          FROM  split_string_test a
          )                
) 
SELECT  b.id, b.test_string , lvl, REGEXP_SUBSTR( b.test_string, '([^,]+)', 1, lvl)  AS split_str
FROM  split_string_test b , cntr 
where  (lvl  <=  length(b.test_string) - length(replace(b.test_string, ',')) + 1)
and (REGEXP_SUBSTR  ( b.test_string, '([^,]+)', 1, lvl)  IS NOT NULL
OR  b.test_string  IS NULL )
ORDER BY  b.id, lvl;

注:取字符串分拆最大的数

SELECT  MAX ( length(a.test_string) - length(replace(a.test_string, ',')) + 1)  FROM  split_string_test a

或:

SELECT b.id,
       b.test_string,
       lvl,
       REGEXP_SUBSTR(b.test_string, '([^,]+)', 1, lvl) AS split_str
  FROM split_string_test b,
       (SELECT LEVEL AS lvl
          FROM dual
        CONNECT BY LEVEL <= 1 + (SELECT MAX(length(a.test_string) -
                                            length(replace(a.test_string, ',')) + 1)
                                   FROM split_string_test a))
 where (lvl <=
       length(b.test_string) - length(replace(b.test_string, ',')) + 1)
   and (REGEXP_SUBSTR(b.test_string, '([^,]+)', 1, lvl) IS NOT NULL OR
       b.test_string IS NULL)
 ORDER BY b.id, lvl;

四、结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1011749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL5.7修改默认端口

1. 修改配置文件 首先打开MySQL的配置文件 my.ini&#xff0c;我的路径在 C:\ProgramData\MySQL\MySQL Server 5.7 &#xff0c;如何寻找自己的MySQL配置文件所在位置呢&#xff1f; 1.1 寻找配置文件 首先按下 wins &#xff0c;搜索 “服务” &#xff0c; 找到MySQL服务…

常驻巨噬细胞诱导的纤维化在胰腺炎性损伤和PDAC中具有不同的作用

介绍一篇2023年8月10日发表在Nature Immunology的文章 标题&#xff1a; Fibrosis induced by resident macrophages has divergent roles in pancreas inflammatory injury and PDAC 影响因子&#xff1a;30.5 DOI&#xff1a;https://doi.org/10.1038/s41590-023-01579-x …

对SPA单页面的理解

SPA单页面应用 SPA&#xff08;single-page application&#xff09;&#xff0c;翻译过来就是单页应用SPA是一种网络应用程序或网站的模型&#xff0c;它通过动态重写当前页面来与用户交互&#xff0c;这种方法避免了页面之间切换打断用户体验。 在单页应用中&#xff0c;所…

[移动通讯]【Carrier Aggregation-4】【LTE-4】

前言&#xff1a; 推荐两个在线工具 UECapabilityInformation Decoder: https://www.sqimway.com/ue_capa.php FGI Decoder: http://howltestuffworks.blogspot.com/2016/11/lte-feature-group-indicators-decoder.html 参考&#xff1a; 载波聚合&#xff08;CA&#xff09;…

webpack-cl明明已经安装了,但是还是会报未安装

解决办法&#xff1a;对当前项目目录进行安装 npm install webpack webpack-cli --save-dev

前端css实现统计圆环

文章目录 效果图 css的原理 左右两边分开制作&#xff0c;左右两边各有两层盒子&#xff0c;外层负责遮挡溢出的部分&#xff0c;里层旋转表示百分比 template部分 // 圆环的代码 <div class"row rel"><div class"left"><div id"lef…

U8用友ERP本地部署异地远程访问:内网端口映射外网方案

文章目录 前言1. 服务器本机安装U8并调试设置2. 用友U8借助cpolar实现企业远程办公2.1 在被控端电脑上&#xff0c;点击开始菜单栏&#xff0c;打开设置——系统2.2 找到远程桌面2.3 启用远程桌面 3. 安装cpolar内网穿透3.1 注册cpolar账号3.2 下载cpolar客户端 4. 获取远程桌面…

华为云创新中心黑湖科技:将智能制造进行到底

编辑&#xff1a;阿冒 设计&#xff1a;沐由 一如去年&#xff0c;第二届828 B2B企业节从8月28日-9月15日期间&#xff0c;再一次成为广大企业界关注的焦点。 当前&#xff0c;数字技术已经被广泛被融入到产品、服务与流程当中&#xff0c;用以转变客户的业务成果&#xff0c;以…

Nginx map 实现时间格式转换

哈喽大家好&#xff0c;我是咸鱼 最近我们需要把 Nginx 的日志接入到自研的日志采集平台上&#xff0c;但是这个平台只支持 JSON 格式&#xff0c;所以需要把 Nginx 日志格式改成 JSON 格式 例如下面这样的效果 刚开始在主配置文件 nginx.conf 中定义了一个名叫 json 的日志…

好用的电容笔有哪些推荐?apple pencil的平替笔推荐

很小伙伴会觉得越贵的电容笔就会越好用&#xff0c;但其实不是这样子的。我们要综合产品的性能和价格来购买。在电容笔领域中&#xff0c;性价比是很重要购买参数&#xff0c;今天我给大家推荐几款性价比高的平替电容笔&#xff0c;希望可以给你带来有益的参考。 1.西圣电容笔…

雅思学习总结

#【中秋征文】程序人生&#xff0c;中秋共享# 雅思小科普&#xff1a; 1. 什么是雅思考试&#xff1f; 雅思考试是由&#xff1a;英国文化协会、澳洲 IDP 教育集团、剑桥 大学考试委员会举办的英语水平测试。全称翻译成中文是&#xff1a; 国际英语语言测试系统。 2…

一招识别吞没和Marubozu,只需记住FPmarkets澳福这两点

在后台有很多投资者都在问FPmarkets澳福&#xff0c;吞没和Marubozu这两种形态的区别&#xff0c;今天这篇文章通过相似和不同来了解吞没和Marubozu这两种形态的区别。 共同点&#xff1a; 1. Marubozu和吞没都是烛台分析中的反转形态。 2.这两种模式&#xff0c;阴影都不需要特…

华为云云耀云服务器L实例评测-搭建基于hexo的个人博客

1、演示 访问地址&#xff1a;演示传送门开头先来一个效果图。 2、准备服务器 前面有介绍了一下华为云云耀云服务器L实例评测以及简单的配置用法&#xff0c;具体可以看上篇的博客。https://blog.csdn.net/yongqing_/article/details/132867889我这里用的是华为云云耀云服务器…

OpenAPI,连接新世界_三叠云

开放平台 路径 应用与导航 >> 开放平台 功能简介 随着企业数字化转型的不断深入&#xff0c;越来越多的公司需要与其他企业或应用程序进行集成&#xff0c;实现更高效和智能的业务流程。因此&#xff0c;三叠云提出了一种新的解决方案&#xff1a;开放平台。 三叠云…

OpenHarmony 系统能力 SystemCapability 使用指南

一、概述 1、系统能力与 API SysCap&#xff0c;全称 SystemCapability&#xff0c;即系统能力&#xff0c;指操作系统中每一个相对独立的特性&#xff0c;如蓝牙&#xff0c;WIFI&#xff0c;NFC&#xff0c;摄像头等&#xff0c;都是系统能力之一。每个系统能力对应多个 API&…

Python模板注入(SSTI)

概念 发生在使用模板引擎解析用户提供的输入时。模板注入漏洞可能导致攻击者能够执行恶意代码或访问未授权的数据。 模板引擎可以让&#xff08;网站&#xff09;程序实现界面与数据分离&#xff0c;业务代码与逻辑代码分离。即也拓宽了攻击面&#xff0c;注入到模板中的代码可…

flutter聊天界面-TextField输入框实现@功能等匹配正则表达式展示高亮功能

flutter聊天界面-TextField输入框实现功能等匹配正则表达式展示高亮功能 一、简要描述 描述&#xff1a; 最近有位朋友讨论的时候&#xff0c;提到了输入框的高亮展示。在flutter TextField中需要插入特殊样式的标签&#xff0c;比如&#xff1a;“请 张三 回答一下”&#x…

streamlit打包方式

Streamlit是一个开放的资源框架&#xff0c;用于将数据脚本转换为可共享的 Web 应用程序。它允许数据科学家和机器学习工程师构建直观的界面&#xff0c;而无需了解 Web 开发。在本教程中&#xff0c;我们将学习一些将 Streamlit 应用程序转换为双击可执行文件的方法&#xff0…

贪心(5)

绝对值不等式 |x-a||x-b|>|a-b| (中位数&#xff09; 仓库选址&#xff08;中位数就是最优解&#xff09; 在一条数轴上有 N 家商店&#xff0c;它们的坐标分别为 A1∼AN。 现在需要在数轴上建立一家货仓&#xff0c;每天清晨&#xff0c;从货仓到每家商店都要运送一车商…

山区自建房BCD浪涌保护器接线方案(自建房用电防雷)

家庭&#xff08;自建房&#xff09;电路防雷保护指南 家庭&#xff08;自建房&#xff09;电路防雷保护指南.png 已共享。 链接: https://pan.baidu.com/s/1xkwsIgizg4WvLJ8V3cd_ZQ?pwde9pv 提取码: e9pv 山区自建房BCD浪涌保护器接线方案。