Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

oracle -- Pisahkan beberapa nilai yang dipisahkan koma dalam tabel oracle menjadi beberapa baris

Akhirnya saya menemukan jawaban ini

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa menjatuhkan batasan bukan nol di Oracle ketika saya tidak tahu nama batasannya?

  2. Mengapa menjalankan kueri ini dengan EXECUTE IMMEDIATE menyebabkannya gagal?

  3. Menggunakan tanggal dalam batasan pemeriksaan, Oracle

  4. Praktik terbaik untuk pagination di Oracle?

  5. Prosedur tersimpan Oracle dengan parameter untuk klausa IN