sql >> Databasteknik >  >> RDS >> Oracle

oracle -- Dela flera kommaseparerade värden i oracle-tabellen till flera rader

Äntligen kom jag på det här svaret

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. Oracle Text fungerar inte med NVARCHAR2. Vad mer kan vara otillgängligt?

  2. SQL Server 2016:Säkerhetskopiera en databas

  3. Hur man ansluter en databas med en Amazon VPC

  4. T-SQL-buggar, fallgropar och bästa praxis – går med