sql >> Database teknologi >  >> RDS >> Oracle

oracle -- Opdel flere kommaseparerede værdier i oracle-tabellen til flere rækker

Endelig kom jeg med dette svar

WITH CTE AS (SELECT 'a,b,c,d,e' temp, 1 slno FROM DUAL
              UNION
              SELECT 'f,g' temp, 2 slno FROM DUAL
              UNION
              SELECT 'h' temp, 3 slno FROM DUAL)
SELECT TRIM(REGEXP_SUBSTR(temp, '[^,]+', 1, level)), slno
FROM CTE
CONNECT BY level <= REGEXP_COUNT(temp, '[^,]+')
    AND PRIOR slno = slno
    AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL


  1. Fejl:TCP-udbyder:Fejlkode 0x2746. Under SQL-opsætningen i linux gennem terminal

  2. SQLite NOT NULL-begrænsning

  3. Hvorfor fusionerede PostgreSQL brugere og grupper til roller?

  4. Påvirker Sql JOIN-ordren ydeevnen?