将表中一个字段拆分成多列 oracle db2字段拆分

--oracle 数据库拆分办法

WITH TT(bbbh,
USER_,
sjly) AS
 (SELECT 00 bbbh, '' USER_, 'a^b^c' || '^' sjly
    from dual
  UNION ALL
  SELECT bbbh,
         SUBSTR(TT.sjly, 1, Instr(TT.sjly, '^') - 1),
         SUBSTR(TT.sjly, Instr(TT.sjly, '^') + 1)
    from TT
   WHERE LENGTH(TT.sjly) > 1)

SELECT bbbh,
       substr(TRIM(USER_), Instr(TRIM(USER_), ',') + 1, length(USER_)) fy
  FROM TT
 WHERE USER_ is not null
 ORDER BY USER_, bbbh

 

--db2 数据库拆分办法


WITH N(STRING,ORI,POS) AS (
VALUES('AAA,BBB,CCC,DDD,EEE,',1,POSSTR('AAA,BBB,CCC,DDD,EEE,',','))
UNION ALL
SELECT STRING,POS+1,LOCATE(',',STRING,POS+1) FROM N
WHERE LOCATE(',',STRING,POS+1)>0
)
SELECT STRING,ORI,POS,SUBSTR(STRING,ORI,POS-ORI) FROM N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值