Oracle中将一条记录(某字段中为合并的信息)拆分成多条记录

将这种数据 select * from T_B_INFO_TEST

转化成这种数据:select * from  T_b_INFO_RESULT



转化数据的脚本:

insert into T_b_INFO_RESULT
select q.c_month,
       regexp_substr(q.prod_code, '[^,]+', 1, q.rn) prod_code,
       q.c_soto,
       q.kpi_value
  from (select t.c_month, t.prod_code, t.c_soto, t.kpi_value, t1.rn
          from (select a.c_month,
                       a.prod_code,
                       a.c_soto,
                       a.kpi_value,
                       length(a.prod_code) -
                       length(replace(a.prod_code, ',')) + 1 rn
                  from t_B_info_test a) t,
               (select level rn
                  from dual
                connect by level <=
                           (select max(length(b.prod_code) -

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值