Wie bekomme ich textuellen Inhalt von BLOB in Oracle SQL
Ich bin Versuch zu sehen, aus einer SQL-Konsole, was im inneren einer Oracle-BLOB.
Ich weiß, es enthält einen etwas großen Körper des Textes, und ich will nur den text sehen, aber die folgende Abfrage zeigt nur an, dass es ein BLOB in das Feld:
select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>';
dem Ergebnis bin ich immer nicht ganz, was ich erwartet hatte:
BLOB_FIELD ----------------------- oracle.sql.BLOB@1c4ada9
Also was für eine Art von Magie, Beschwörungen kann ich tun, um drehen Sie den BLOB in die textuelle Darstellung?
PS: ich bin nur versuchen, zu schauen, um den Inhalt des BLOB aus einer SQL-Konsole (Eclipse Data Tools), nicht im code verwenden müssen.
InformationsquelleAutor der Frage Roland Tepp | 2009-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst von allen, möchten Sie vielleicht, um text zu speichern in CLOB/NCLOB-Spalten statt BLOB, die ausgelegt ist für binäre Daten (deine Abfrage würde funktionieren mit einem CLOB, by the way).
Mit der folgenden Abfrage können Sie die ersten 32767 Zeichen (bei den meisten) der text innerhalb der blob, vorausgesetzt, alle Zeichensätze sind kompatibel (original-CS der gespeicherte text in den BLOB -, CS von der verwendeten Datenbank für VARCHAR2) :
InformationsquelleAutor der Antwort Mac
Können Sie folgenden SQL-Lesen der BLOB-Felder aus der Tabelle.
InformationsquelleAutor der Antwort Imran Patel
Wenn Sie wollen, Suche innerhalb des Textes, anstatt es anzuzeigen, das funktioniert:
InformationsquelleAutor der Antwort Barn
Ich kämpfte mit diesem für eine Weile und umgesetzt werden, die PL/SQL-Lösung, aber später realisiert, dass in Toad kann man einfach doppelklicken auf die Ergebnisse der grid-Zelle, und es bringt einen editor mit Inhalt im text. (ich bin auf Toad v11)
InformationsquelleAutor der Antwort Sonic Soul
Scheune Antwort für mich gearbeitet mit der änderung, weil meine Spalte ist nicht komprimiert. Die quick-and-dirty-Lösung:
InformationsquelleAutor der Antwort Pecos Bill
Verwenden
TO_CHAR
Funktion.Wandelt
NCHAR
NVARCHAR2
CLOB
oderNCLOB
Daten zu den Datenbank-Zeichensatz. Der zurückgegebene Wert ist immerVARCHAR2
.InformationsquelleAutor der Antwort bbshow