oracle批量列转行逗号分隔-成都快上网建站

oracle批量列转行逗号分隔

示例:

成都创新互联公司主要从事成都网站建设、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务仁寿,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

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

网站名称:oracle批量列转行逗号分隔
浏览地址:http://kswjz.com/article/iihhdp.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流