行转列 or 行转行

  select distinct regexp_substr('1,2,34,34,5', '[^,]+', 1, rownum) v1
  from dual
connect by rownum <=
           length('1,2,34,34,5') - length(replace('1,2,34,34,5', ',')) + 1 ;

 

以下实现行转行(原创)。

即将

1   aa,bb,cc

2   cc,dd

转成

1  aa

1  bb

1  cc

2  cc

2  dd


create table temp ( a number(10) , b  varchar2(300)) ;

insert into temp values( 101, '111,233,443,988328,000,23,k34');
insert into temp values( 777, '1k,88u,99ie,88j');


with temp_1 as
 (select a, length(a.b) - length(replace(a.b, ',')) + 1 numbs from temp a)
select t4.a,(
select regexp_substr(tt.b, '[^,]+', 1, t4.flg)
  from temp tt
 where tt.a = t4.a)
  from(
select t2.a, t2.numbs, sum(1) over(partition by t2.a, t2.numbs
 order by t3.r) flg
  from(
select t1.a, t1.numbs, t1.ed - t1.numbs + 1 st, t1.ed
  from(
select t.a, t.numbs, sum(t.numbs) over(
 order by t.a) ed
  from temp_1 t) t1) t2,(
select rownum r
  from dual a
connect by rownum <= (
select sum(numbs)
  from temp_1)) t3
 where r >= st and r <= ed) t4;






good article:

  http://www.cnblogs.com/killkill/archive/2010/09/06/1819536.html

  http://wang11qiang11.blog.163.com/blog/static/980301092010223105737592/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值