返回顶部
首页 > 资讯 > 数据库 >oracle 批量列转行 逗号分隔
  • 191
分享到

oracle 批量列转行 逗号分隔

2024-04-02 19:04:59 191人浏览 泡泡鱼
摘要

示例:with temp as (select '1,2,3' nums, 'a' names 

示例:

with temp as
(select '1,2,3' nums, 'a' names from dual
	uNIOn all
	select '4,5' nums, 'b' names from dual
	union all
	select '6,7' nums, 'c' names from dual
	union all
	select '8' nums, 'c' names from dual
	union all
	select '9,10' nums, 'c' names from dual
	union all
	select '11,12' nums, 'c' names from dual
	union all
	select '13,14' nums, 'c' names from dual
	union all
	select '15,16' nums, 'c' names from dual
	union all
	select '17,18' nums, 'c' names from dual
	union all
	select '19,20' nums, 'c' names from dual
	union all
	select '21,22,23,24,25,26,27,28,29,30,31,32,33,34' nums, 'c' names from dual
)
select regexp_substr(nums,'[^,]+',1,b.lv) order_num,names
from temp, (select level lv from dual connect by level<=(select max(length(regexp_replace(nums,'[^,]+'))+1) from temp)) b	--用于分配行数(行数取最大的nums分隔数)
where b.lv <=length(regexp_replace(nums,'[^,]+'))+1 order by order_num


您可能感兴趣的文档:

--结束END--

本文标题: oracle 批量列转行 逗号分隔

本文链接: https://lsjlt.com/news/40546.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作