Oracle根据指定字段中的指定字符分割数据利用游标实现行转列

1.场景描述

原始数据如下:

task_id section_code user_no
asd21123 A0AH101 VD200149;KK000300;KKC00022
qewqeqwd A0AH102 KKC00022
qwe12314 A0AH103 VD200149;KK000300
qwefada4 A0AH104 VA330011;VB500242;FFB00132;FF100152;FF100342
qweasd13 A0AH105 VA330011;VB500242;FFB00132;FF100152;FF100342;VD200149;KK000300;KKC00022

我们经常会有需求将user_no字段中的数据字符串按分号分割开来,使数据便于计算,如第一条数据分割成如下数据:

task_id section_code user_no
asd21123 A0AH101 VD200149
asd21123 A0AH101 KK000300
asd21123 A0AH101 KKC00022

这里我们的方法是利用游标逐条遍历每一条数据,查看每条数据中user_no字符串中有几个分号就循环几次,逐条将分隔开的数据插入到目标表中。

2.代码实现

declare
  v_task_id varchar2(255);
  v_section_code varchar2(255)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值