首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

在oracle中将一行字符串拆分成多行

编程知识
2024年08月05日 18:48

例如,有如下一张表,表名为bk_test。插入了以下数据:

CREATE TABLE BK_TESK(id varchar2(10),s varchar2(20));
insert into BK_TESK values ('A','1,2,3');
insert into BK_TESK values ('B','4,5,6');
insert into BK_TESK values ('C','7,8');

查询数据如图所示

我们需要将字段S中以逗号分隔的数据拆分成多行。结果如图所示

实现将一行数据拆分成多行的代码如下所示

SELECT
    id,
    TRIM(REGEXP_SUBSTR(s, '[^,]+', 1, LEVEL)) AS s
FROM
    BK_TESK
CONNECT BY
    PRIOR SYS_GUid() IS NOT NULL
    AND LEVEL <= REGEXP_COUNT(s, ',') + 1
    AND PRIOR id = id
ORDER BY
    id, s;

1: PRIOR id = id这个条件的主要作用是确保层次查询在处理每个id 时保持连续性

  • PRIOR 关键字用于引用上一行的值。
  • 这个条件使得每次迭代都使用相同的 id 值。
  • 它防止查询跨越不同的 id 值,确保每个 id 的所有拆分值都被正确处理。
  • 例如,当处理 'a' 的值时,这个条件确保不会跳到 'b' 的值,直到 'a' 的所有值都被处理完。

2: PRIOR SYS_GUID() IS NOT NULL。这个条件的主要目的是为了创建一个始终为真的条件。允许 CONNECT BY 继续执行,直到其他条件(如 LEVEL 条件)停止查询

From:https://www.cnblogs.com/study9196/p/18343925
本文地址: http://www.shuzixingkong.net/article/818
0评论
提交 加载更多评论
其他文章 代码随想录Day5
242.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = &quot;anagram&quot;, t = &quot;nagaram&
一些八股:1.fetch 的理解。2.let、const、var
一、 说说你对 Fetch 的理解,它有哪些优点和不足? Fetch API 是现代 JavaScript 中用于进行网络请求的接口,旨在替代传统的 XMLHttpRequest。它提供了一种更简单、更灵活的方法来获取资源和与服务器进行交互。下面,我将详细介绍 Fetch 的优点和不足。 Fetch
南京大学计算机基础(四)踩坑笔记
第六周 缓冲区溢出章节 bang问题: 每次输入的id将影响getbuf中的堆栈位置,用-u 12的ebp和-u 123的ebp位置就不一样。 注意汇编代码中不能出现a0(代表换行符),如果地址有a0就将它随便改改就行了(a0改为a8-0x8)。 注意gdb如果不能重定向,可能是因为你修改了gdbi
南京大学计算机基础(四)踩坑笔记 南京大学计算机基础(四)踩坑笔记 南京大学计算机基础(四)踩坑笔记
解锁GraphRag.Net的无限可能:手把手教你集成国产模型和本地模型
在上次的文章中,我们已经详细介绍了GraphRag的基本功能和使用方式。如果你还不熟悉,建议先阅读前面的文章 通过前两篇文章,相信你已经了解到GraphRag.Net目前只支持OpenAI规范的接口,但许多小伙伴在社区中提议,希望能增加对本地模型(例如:ollama等)的支持。所以这次,我们将探讨如
架构演化学习思考(4) --- IOC的学习认识
架构演化学习思考(4) IOC的学习认识 IOC相关概念认识 什么是IOC? IOC全称为 Inversion Of Control ,即控制反转。它是一种控制思想,可以解释为类和类之间的依赖关系不再由代码直接控制,而是通过容器来控制和配置实现。 控制反转?那么什么是正传? 反转有啥好处?IOC到底
架构演化学习思考(4) --- IOC的学习认识 架构演化学习思考(4) --- IOC的学习认识 架构演化学习思考(4) --- IOC的学习认识
【Playwright+Python】系列教程(七)使用Playwright进行API接口测试
playwright也是可以做接口测试的,但个人觉得还是没有requests库强大,但和selenium相比的话,略胜一筹,毕竟支持API登录,也就是说可以不用交互直接调用接口操作了。 怎么用 既然是API的测试了,那肯定就别搞UI自动化那套,搞什么浏览器交互,那叫啥API测试,纯属扯淡。 也不像有
【Playwright+Python】系列教程(七)使用Playwright进行API接口测试 【Playwright+Python】系列教程(七)使用Playwright进行API接口测试 【Playwright+Python】系列教程(七)使用Playwright进行API接口测试
算法·理论:Manacher 笔记
\(\text{Manacher}\) 来啦! \(\text{Manacher}\) 并没有什么前置知识,比 \(\text{KMP}\) 简单多了。 前置处理 \(\text{Manacher}\) 算法用于解决回文串相关问题,先看几个基本概念:回文中心、回文半径,这些看字面意思就能猜到。 还有
数据结构 顺序与链式二叉树的原理与实现(万字)
目录一、树概念及结构树的概念树的相关概念树的表示二、二叉树概念及结构概念特殊的二叉树二叉树的性质二叉树的存储结构三、二叉树的顺序结构及实现二叉树的顺序结构堆的概念及结构堆的实现堆向下调整算法堆的创建建堆时间复杂度堆的插入堆的删除堆的代码实现Heap.hHeap.c堆的应用堆排序堆排序代码实现Heap
数据结构 顺序与链式二叉树的原理与实现(万字) 数据结构 顺序与链式二叉树的原理与实现(万字) 数据结构 顺序与链式二叉树的原理与实现(万字)