将字符串拆分为行 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 的相关文章

随机推荐

  • 使用 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