sql >> Database >  >> RDS >> Oracle

CLOB-kolom weergeven met meer dan 4000 tekens

Ik denk dat je de chunks als aparte rijen zou kunnen weergeven?

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)

of als er een beperking is op de maximale grootte die een klomp in uw systeem kan hebben, kunt u het aantal geretourneerde tekstkolommen hard coderen

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


  1. Foutcode oplossen:1005. Kan tabel niet maken '' (errno:150) Fout

  2. Een lijstitem vinden op een opgegeven positie in MySQL

  3. ALL operator VS Elke op een lege query

  4. Tabel draaien/draaien met aggregatie in Oracle