Estoy tratando de ver desde una consola SQL qué hay dentro de un BLOB de Oracle.Cómo obtengo contenido textual de BLOB en Oracle SQL
Sé que contiene una gran cantidad de un poco de texto y quiero ver sólo el texto, sino la siguiente consulta sólo indica que existe un BLOB en ese campo:
select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>';
el resultado estoy consiguiendo no es exactamente lo que esperaba:
BLOB_FIELD ----------------------- [email protected]
Entonces, ¿qué tipo de magia encantamientos puedo hacer para convertir el BLOB en su representación textual?
PD: Estoy tratando de ver el contenido del BLOB desde una consola SQL (herramientas de datos Eclipse), no usarlo en el código.
Por desgracia, no controlo el esquema de base de datos - sólo hay que mirar en la mancha ... Pero gracias de todos modos. –
Gracias Mac, eso funciona bien --- ¿Pero cuál es el propósito de ese "dbms_lob.substr"? --- Solo usando "select utl_raw.cast_to_varchar2 (BLOB_FIELD) ..." parece darme el mismo resultado ...? – Rop
cast_to_varchar2 toma un RAW en la entrada (http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/u_raw.htm#autoId18), que está limitado a 32767 bytes de longitud (http: // docs. oracle.com/cd/E11882_01/appdev.112/e10472/datatypes.htm#autoId8). Un BLOB no tiene ninguna limitación de tamaño, por lo que substr lo trunca a un tamaño correcto (http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_lob.htm#autoId57) si es necesario. – Mac