Oracle
 sql >> Base de données >  >> RDS >> Oracle

Affichage de la colonne CLOB avec plus de 4000 caractères

Je suppose que vous pourriez afficher les morceaux sur des lignes séparées ?

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)

ou s'il existe une contrainte sur la taille maximale qu'un clob peut avoir dans votre système, vous pouvez coder en dur le nombre de colonnes de texte renvoyées

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