sql >> Databasteknik >  >> RDS >> Oracle

Visar CLOB-kolumn med 4000+ tecken

Jag antar att du kan visa bitarna som separata rader?

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)

eller om det finns en begränsning för den maximala storleken en klump kan vara i ditt system kan du hårdkoda antalet textkolumner som returneras

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. Laravel 4.2 BIT datatypproblem

  2. System.Data.OracleClient kräver Oracle-klientprogramvara version 8.1.7 eller senare

  3. ASCII()-funktion i Oracle

  4. MySQL-tabell med AUTO_INCREMENT primärt ID släpper inte numret efter en återställning