Split string oracle into a single column and insert into a table

前端 未结 3 1501
轻奢々
轻奢々 2020-12-20 05:31

I have a table with column data in below format(Row# just to indicate row number).

Row#1 :test.doc#delimiter#1234,test1.doc#delimiter#1235,test2.doc#delimit         


        
3条回答
  •  攒了一身酷
    2020-12-20 06:03

    WITH data AS (
      SELECT 'test.doc#delimiter#1234,test1.doc#delimiter#1235,test2.doc#delimiter#1236' AS "value" FROM DUAL
      UNION ALL
      SELECT 'fil1.txt#delimiter#1456,fil1.txt#delimiter#1457' AS "value" FROM DUAL
    )
    SELECT  REGEXP_SUBSTR( data."value", '[^,]+', 1, levels.COLUMN_VALUE )
    FROM    data,
            TABLE(
              CAST(
                MULTISET(
                  SELECT LEVEL
                  FROM   DUAL
                  CONNECT BY  LEVEL <= LENGTH( regexp_replace( "value", '[^,]+'))  + 1
                ) AS sys.OdciNumberList
              )
            ) levels;
    

提交回复
热议问题