当前位置:首页 > oracle 将以逗号分隔的列拆成多行的的方法

oracle 将以逗号分隔的列拆成多行的的方法

点击次数:788  更新日期:2019-06-27

原表如下

select * from V_RES_CARD_LINKED

image.png

将列拆分成多行的语句

select REGEXP_SUBSTR(ASSET_CODE, '[^,]+', 1, L) AS ASSET_CODE,rackname,type from v_res_card_linked, 
(SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 1000)  
WHERE L(+) <= LENGTH(ASSET_CODE) - LENGTH(REPLACE(ASSET_CODE, ',')) + 1

image.png