Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie erhalte ich Textinhalte von BLOB in Oracle SQL

Zunächst möchten Sie vielleicht Text in CLOB/NCLOB-Spalten statt in BLOB speichern, das für Binärdaten ausgelegt ist (Ihre Abfrage würde übrigens mit einem CLOB funktionieren).

Die folgende Abfrage lässt Sie die ersten 32767 Zeichen (höchstens) des Textes innerhalb des Blobs sehen, vorausgesetzt, alle Zeichensätze sind kompatibel (ursprüngliches CS des im BLOB gespeicherten Textes, CS der für VARCHAR2 verwendeten Datenbank):

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