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

Oracle SQL - buat string dengan menggabungkan baris tetapi tidak melebihi X jumlah karakter

Saya mencoba kueri berikut dan mencapai hasil yang diinginkan.

SELECT
    LISTAGG(X, ',') WITHIN GROUP(
        ORDER BY
            X
    ) as result
FROM
    (
        SELECT
            X,
            SUM(LENGTH(X)) OVER(
            ORDER BY
                X
            ) LENGTH_X,
            COUNT(1) OVER(
            ORDER BY
                X
            ) - 1 AS COMMAS
        FROM
            (
                SELECT
                    LEVEL   X
                FROM
                    DUAL
                CONNECT BY
                    LEVEL <= 20
            )
    )
GROUP BY
    CEIL((LENGTH_X + COMMAS) / 15);

Keluaran:

db<>demo biola

Semangat!!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menyinkronkan metode Java yang dipanggil oleh PL/SQL

  2. Oracle Sql :Prosedur yang dapat membuat tabel sementara di dalamnya

  3. Mencoba membuat Daftar Nilai termasuk nilai tabel dan angka di bawahnya

  4. Oracle- buat hasil sementara untuk digunakan dalam kueri

  5. Prosedur atau pekerjaan Oracle untuk menyalin data secara otomatis dari satu skema ke skema lainnya berdasarkan timeline