Sto provando a vedere da una console SQL cosa c'è all'interno di un BLOB Oracle.Come ottengo il contenuto testuale da BLOB in Oracle SQL
So che contiene un po 'grande corpo di testo e voglio vedere solo il testo, ma la seguente query indica solo che c'è un BLOB in quel campo:
select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>';
il risultato sono ottenendo non è proprio quello che mi aspettavo:
BLOB_FIELD ----------------------- [email protected]
Quindi, che tipo di magia incantesimi che posso fare per trasformare il BLOB in esso è rappresentazione testuale?
PS: Sto solo cercando di guardare il contenuto del BLOB da una console SQL (Eclipse Data Tools), non usarlo nel codice.
Purtroppo, non controllare lo schema del database - ho solo bisogno di sbirciare nel blob ... Ma grazie comunque. –
Grazie Mac, funziona benissimo --- Ma qual è lo scopo di "dbms_lob.substr"? --- Usare solo "selezionare utl_raw.cast_to_varchar2 (BLOB_FIELD) ..." sembra darmi lo stesso risultato ...? – Rop
cast_to_varchar2 accetta un input RAW (http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/u_raw.htm#autoId18), che è limitato a 32767 byte di lunghezza (http: // docs. oracle.com/cd/E11882_01/appdev.112/e10472/datatypes.htm#autoId8). Un BLOB non ha limiti di dimensioni, quindi il substr lo tronca a una dimensione corretta (http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_lob.htm#autoId57) se necessario. – Mac