Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Anzeige der CLOB-Spalte mit mehr als 4000 Zeichen

Ich schätze, Sie könnten die Chunks als separate Zeilen anzeigen ?

SELECT ROWNUM as chunk_no,ID, SUBSTR (t1.clob_col, (ROWNUM-1)*4000, 4000) AS chunk
FROM t1
CONNECT BY (ROWNUM-1)*4000 <= LENGTH(t1.clob_col)

oder wenn die maximale Größe eines Clobs in Ihrem System begrenzt ist, können Sie die Anzahl der zurückgegebenen Textspalten fest codieren

SELECT SUBSTR (t1.clob_col, 1, 4000) AS pt1,
       CASE WHEN LENGTH (t1.clob_col) > 4000  THEN SUBSTR (t1.clob_col, 4001, 4000) END AS pt2,
       CASE WHEN LENGTH (t1.clob_col) > 8000  THEN SUBSTR (t1.clob_col, 8001, 4000) END AS pt3,
       CASE WHEN LENGTH (t1.clob_col) > 12000 THEN SUBSTR (t1.clob_col, 1201, 4000) END AS pt4
FROM t1