Можете да изхвърлите стойността в шестнадесетичен, като използвате UTL_RAW.CAST_TO_RAW(UTL_RAW.CAST_TO_VARCHAR2())
.
SELECT b FROM foo;
-- (BLOB)
SELECT UTL_RAW.CAST_TO_RAW(UTL_RAW.CAST_TO_VARCHAR2(b))
FROM foo;
-- 1F8B080087CDC1520003F348CDC9C9D75128CF2FCA49D1E30200D7BBCDFC0E000000
Това е удобно, защото това е същият формат, използван за вмъкване в BLOB колони:
CREATE GLOBAL TEMPORARY TABLE foo (
b BLOB);
INSERT INTO foo VALUES ('1f8b080087cdc1520003f348cdc9c9d75128cf2fca49d1e30200d7bbcdfc0e000000');
DESC foo;
-- Name Null Type
-- ---- ---- ----
-- B BLOB
Въпреки това, в определен момент (2000 байта?) съответният шестнадесетичен низ надвишава максималната дължина на низа на Oracle. Ако трябва да се справите с този случай, ще трябва да комбинирате Как да получа текстово съдържание от BLOB в Oracle SQL
с документация за DMBS_LOB.SUBSTRкод>
за по-сложен подход, който ще ви позволи да видите поднизове на BLOB.