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批量列转行逗号分隔
分享URL:http://pwwzsj.com/article/iihhdp.html