DBMS_LOB.SUBSTR pro objekt BLOB vrátí RAW. Většina prostředí to vykreslí v hex. K zobrazení v některých jiných formátech můžete použít funkci DUMP.
select dump(dbms_lob.substr(product_image,10,1),10),
dump(dbms_lob.substr(product_image,10,1),16),
dump(dbms_lob.substr(product_image,10,1),17)
from APEX_DEMO.DEMO_PRODUCT_INFO
where product_id = 9;
To vrátí prvních 10 bajtů BLOB v desítkové soustavě (např. 0-255), hex a znak. Ten může vrhnout na obrazovku nějaké netisknutelné smetí a pokud se znakové sady klienta a databáze neshodují, podstoupí nějaký 'překlad'.
Můžete použít UTL_RAW.CAST_TO_VARCHAR2, který vám může dát to, co chcete.
select utl_raw.cast_to_varchar2(dbms_lob.substr(product_image,10,1)) chr
from APEX_DEMO.DEMO_PRODUCT_INFO
where product_id = 9