Oracle
 sql >> Database >  >> RDS >> Oracle

Come ottengo contenuti testuali da BLOB in Oracle SQL

Prima di tutto, potresti voler memorizzare il testo nelle colonne CLOB/NCLOB invece di BLOB, che è progettato per dati binari (la tua query funzionerebbe con un CLOB, tra l'altro).

La query seguente ti consentirà di vedere i primi 32767 caratteri (al massimo) del testo all'interno del BLOB, a condizione che tutti i set di caratteri siano compatibili (CS originale del testo memorizzato nel BLOB, CS del database utilizzato per VARCHAR2):

select utl_raw.cast_to_varchar2(dbms_lob.substr(BLOB_FIELD)) from TABLE_WITH_BLOB where ID = '<row id>';