将字符串拆分为行 Oracle SQL

2024-02-06

在搜索论坛后,我想出了以下内容,但它不起作用:/

我有一张桌子,上面有以下内容;

ID |   Strings     
123|   abc fgh dwd   
243|   dfs dfd dfg  
353|   dfs  
424|   dfd dfw  
523|    
.  
.  
. 

请注意,大约有 20,000 行,我的另一个选择是编写一个存储过程来执行此操作...基本上我需要将字符串拆分,以便每个字符串都有一行,如下所示

ID |  Strings  
123| abc  
123| fgh  
123| dwd  
243| dfs  

等等...

这就是我所拥有的。

create table Temp AS   
SELECT ID, strings   
From mytable;  

SELECT DISTINCT ID, trim(regexp_substr(str, '[^ ]+', 1, level)) str  
FROM (SELECT ID, strings str FROM temp) t  
CONNECT BY instr(str, ' ', 1, level -1) >0  
ORDER BY ID;  

任何帮助表示赞赏


这应该可以解决问题:

SELECT DISTINCT ID, regexp_substr("Strings", '[^ ]+', 1, LEVEL)
FROM T
CONNECT BY regexp_substr("Strings", '[^ ]+', 1, LEVEL) IS NOT NULL
ORDER BY ID;

注意我是如何使用的regexp_substr也在 connect by 子句中。这是为了处理多个空格的情况。


如果您对每行的项目数有一个可预测的上限,则可能值得将上面的递归查询的性能与简单的比较CROSS JOIN:

WITH N as (SELECT LEVEL POS FROM DUAL CONNECT BY LEVEL < 10)
--                                                       ^^
--                                                 up to 10 substrings
SELECT ID, regexp_substr("Strings", '[^ ]+', 1, POS)
FROM T CROSS JOIN N
WHERE regexp_substr("Strings", '[^ ]+', 1, POS) IS NOT NULL
ORDER BY ID;

See http://sqlfiddle.com/#!4/444e3/1 http://sqlfiddle.com/#!4/444e3/1现场演示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串拆分为行 Oracle SQL 的相关文章

  • C# 中的高级替换

    我喜欢用 C 替换 xml 字符串 中的一些属性 示例 XML
  • Ansible:findall 正则表达式中变量的正确语法是什么

    我使用的是 Ansible 版本 2 9 我想做一个 GET 它返回一个信息块 从该信息中正则表达式一个 ID 该 ID 对应于我目前正在迭代的任何主机 然后使用该 ID 执行操作 我有正则表达式工作 https regex101 com
  • 有向图 SQL

    我有以下数据集 它表示有向图中的节点 CREATE TABLE nodes NODE FROM VARCHAR2 10 NODE TO VARCHAR2 10 INSERT INTO nodes VALUES GT TG INSERT IN
  • 从 blob 反序列化 java 对象

    首先 我很抱歉 我要问一些愚蠢的问题 我根本不懂java 也不知道我们是否可以问这样的问题 如果没有 删除我的主题 oracle中有一个存储blob的表 它是二进制的 我能够解码它 输出看起来像这样 sr com epam insure c
  • 在 JSP 中迭代列表对象

    我正在做一个项目来尝试自学 spring 和 struts 我目前卡在 JSP 页面上 我有一个 pojo 类 其中包含带有 getter setter 的变量 eid 和 ename 我还有一个 sql 中的表 其具有相同的值和六个填充行
  • 如何在 C# 中从字符串调用委托?

    是否可以通过变量名称 作为字符串 调用存储在变量中的委托 我想我必须使用反射机制 但我没有得到任何结果 示例代码 class Demo public delegate int DemoDelegate private static int
  • Mac 上使用 Excel VBA 进行正则表达式

    我需要将 regEx 与 Excel VBA 一起使用 我使用的是 Mac OS 10 10 和 Office 2011 因此没有可以使用的 DLL 文件 这里有什么可做的 我读到我必须绑定一个苹果脚本 这是如何完成的以及该脚本需要什么内容
  • Java 字符串哈希码缓存

    字符串不变性的优点之一是哈希码缓存以实现更快的访问 在这种情况下 如何处理具有相同哈希码的字符串的缓存 在这种情况下它真的能提高性能吗 在这种情况下 如何处理具有相同哈希码的字符串的缓存 被缓存的是字符串的哈希码 它被缓存在私有的int字符
  • 使用聚合函数时减少 Athena 扫描的数据量

    以下查询扫描 100 MB 的数据 select from table where column1 val and partition id 20190309 然而 下面的查询扫描了 15 GB 的数据 有超过 90 个分区 select
  • 对 SQL Server 2005 结果进行分页

    如何在 SQL Server 2005 中对结果进行分页 我在 SQL Server 2000 中尝试过 但没有可靠的方法来做到这一点 我现在想知道SQL Server 2005是否有任何内置方法 分页的意思是 例如 如果我按用户名列出用户
  • SQL COUNT(*) 返回错误答案

    以下脚本应返回部门名称以及这些部门中的员工人数 营销 行政和销售部门有 0 名员工 但返回值不是 0 而是 1 我怎样才能纠正它 select Department Departments DepartmentID count as Num
  • 左连接,左表中没有重复行

    请看下面的查询 tbl 目录 Content Id Content Title Content Text 10002 New case Study New case Study 10003 New case Study New case S
  • 如何在 SQL 中编写 where 子句来按一天中的时间过滤 DATETIME 列?

    我有带有 DATETIME 列时间戳的数据 我想将其过滤到 DATETIME 介于上午 9 30 到下午 5 30 之间的任意一天的记录集 最好的方法是什么 更新 更改是因为我需要精确到分钟 而不仅仅是小时 对于那个很抱歉 您始终可以将其编
  • 获取SQL中前2个特殊字符之间的字符

    我有数据在sql 只是要注意 SQL STudio is the IDE like data a 10 b c a 1 b c 我想获取前两个符号之间的数据 Output 10 1 这就是我的方法 SELECT CAST
  • 根据 SQL 查询的集合生成成员的“散点图”结果

    我有一个staff包含工作人员的数据库表 其中user no and user name列 我还有一个 department 包含员工可以加入的部门的表 其中dept no and dept name作为列 因为员工可以是多个部门的成员 所
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • 如何加速 pandas 字符串函数?

    我正在使用 pandas 矢量化 str split 方法来提取从 上的拆分 返回的第一个元素 我还尝试使用 df apply 与 lambda 和 str split 来产生等效的结果 使用 timeit 时 我发现 df apply 的
  • 使正则表达式以惰性方式匹配,同时跳过一些单词

    我想要正则表达式 其中包括跳过一些单词以惰性方式匹配 例如 正则表达式 all s S 0 10 s Damages amount s S 0 10 s in s excess s of 示例文本 第 8 1 a 条规定的所有此类损害超出免
  • 使用 Scala 在 Apache Spark 中拆分字符串

    我有一个数据集 其中包含以下格式的行 制表符分隔 Title lt t gt Text 现在对于每个单词Text 我想创建一个 Word Title 一对 例如 ABC Hello World gives me Hello ABC Worl

随机推荐

  • 使用 awk 打印每隔一个字段

    我有以下输入文件 我希望打印每隔一个字段 A 1 B 2 C 3 获得以下输出 1 2 3 我努力了 awk BEGIN FS OFS for i 2 i lt NF i 2 print i input file 这显然行不通 我认为我的
  • 全局 alt+space 热键抓取 - 奇怪的键盘焦点行为

    我正在抓Alt Space全局热键使用xcb grab key 如下 xcb key symbols t keysyms xcb key symbols alloc c xcb keycode t keycodes xcb key symb
  • 如何在 DirectoryInfo.EnumerateFiles 完成之前访问它

    在我问的问题中快速检索文件夹和所有子文件夹中的文件名列表 https stackoverflow com questions 10604830 retrieve a list of filenames in folder and all s
  • JSON:c# 中的 java Map 等价物是什么

    我面临的问题是使用 JSON 将对象传递给 C 然后 C 将字符串传递回 Java 然后 java 将其反序列化为 Map 顺便说一句 net 版本是 3 5 这是问题所在 java 地图 JSON 字符串的格式如下 key1 value1
  • 使用正则表达式消除谷歌应用程序脚本中的换行符

    我正在尝试为 Google Docs 编写一个附加组件的一部分 该附加组件可以使用以下命令消除所选文本中的换行符replaceText 显而易见的text replaceText n 给出错误Invalid argument searchP
  • 从数组反应本机生成时,多个开关(切换)会同时启用

    现在我的构造函数中有一个像这样的数组 words test test test 在渲染内部 我想为每个元素生成一个带有文本和开关 切换 的元素 如下所示 const wordList this state words map item i
  • 关于Scala闭包的问题(来自《Scala编程》)

    我不明白为什么作者说 Scala 编程 中的代码清单 9 1 使用闭包 在第 9 章中 他们展示了如何将原始代码重构为更少重复的形式 object FileMatcher private def filesHere new java io
  • PHP:在输出中查找具有相对路径的图像和链接并将其转换为绝对路径

    有很多关于 PHP 中相对路径与绝对路径转换的帖子 我正在寻找这些帖子之外的具体实现 希望如此 有人可以帮我完成这个具体的实施吗 我有一个包含不同 HTML 的 PHP 变量 包括hrefs and imgs 包含相对 url 大部分 例如
  • 重新连接时 iPhone 无法发现蓝牙 LE 标签上的服务

    我正在开发适用于 iOS 的蓝牙 LE 应用程序 我使用 iOS 中的核心蓝牙框架来处理所有通信 问题及描述 当我使用单个标签时 尽管有多次连接和断开连接 单个标签仍可以无缝连接 并且手机会发现它的服务 此外 当多个蓝牙 LE 标签首次连接
  • ASP.NET MVC 更新一个表单上的对象列表? (模型绑定到列表)

    关于更新 ASP NET MVC 中的项目列表的快速问题 基本上我有一个编辑操作方法 它返回对象的集合 顺便说一句 其表结构如下所示 testID assetID Result 链接表 我基本上希望这些项目在表单中一个接一个地显示 并且能够
  • 无法停止使用 ExecutorService 启动的任务

    抱歉 我必须打开一个新线程来描述这个问题 今天早上我问这个问题 https stackoverflow com questions 8632773 how to stop immediately a task which is starte
  • Flutter BLoC 测试失败

    目前正在尝试对我的肘节实施单元测试 我感觉严重缺乏 BLoC 在线测试文档或有用的示例 谁能解释一下我在设置这个测试时做错了什么 我似乎无法弄清楚问题是什么 如果有人能告诉我我能做些什么来解决这个问题 我将不胜感激 设置状态文件 class
  • Android DownloadManager 保存到 Download 文件夹

    我正在使用 DownloadManager 来下载文件 我想将下载内容放在标准下载文件夹中 以便人们可以使用文件管理器在最明显的位置轻松找到它们 Uri downloadLocation Uri fromFile new File Envi
  • 如何实现中值堆

    与最大堆和最小堆一样 我想实现中值堆来跟踪给定整数集的中值 API应具有以下三个功能 insert int should take O logN int median will be the topmost element of the h
  • Angular2 路由。请求的路径在索引 1 处包含未定义的段

    我在 Angular 2 中遇到路由问题 我从操作调用 router navigate 到数据表 罕见的是 有时当我单击调用该行的按钮时 它可以正常工作 有时却不能 this router navigate edit id relative
  • 在selenium问题中打开chrome

    我目前正在参加我的第一个自动化测试课程 讲师让我们在加载 Selenium 后在 Eclipse 中创建一个程序 并在程序中创建一个步骤来查看可执行文件以启动 chrome 然后指定一个网站进行检查 看起来我陷入了循环 这是程序 java程
  • 使用 r 删除希伯来语“niqqud”

    一直在努力去除niqqud https en wikipedia org wiki Niqqud 用于表示元音或区分希伯来字母表字母的替代发音的变音符号 例如我有这个变量 样本1 我找不到有效的方法来删除字母下面的标志 尝试过纵梁 与str
  • 从 Web 开发学习 Objective C (Cocoa) 进行 iPhone 编程?

    我想学习开发 iPhone 应用程序 我在 HTML CSS 和 PHP 方面拥有丰富的经验 我也了解一些 JavaScript 我应该从哪里开始 我已经下载了带有 XCode 的 SDK 等等 我是不是有点超前了 我真的不知道 有教程或者
  • 谷歌应用脚​​本,团队驱动的谷歌选择器

    221 5000 你好 目前我正在尝试为谷歌团队驱动器实现谷歌pikker 此代码适用于我的 Google 云端硬盘 但如果您将此代码用于 Google Team Drives 请添加参数 enableFeature google pick
  • 将字符串拆分为行 Oracle SQL

    在搜索论坛后 我想出了以下内容 但它不起作用 我有一张桌子 上面有以下内容 ID Strings 123 abc fgh dwd 243 dfs dfd dfg 353 dfs 424 dfd dfw 523 请注意 大约有 20 000