Anda dapat membuang nilai dalam hex menggunakan 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
Ini berguna karena Anda ini adalah format yang sama yang digunakan untuk menyisipkan ke dalam kolom BLOB:
CREATE GLOBAL TEMPORARY TABLE foo (
b BLOB);
INSERT INTO foo VALUES ('1f8b080087cdc1520003f348cdc9c9d75128cf2fca49d1e30200d7bbcdfc0e000000');
DESC foo;
-- Name Null Type
-- ---- ---- ----
-- B BLOB
Namun, pada titik tertentu (2000 byte?) string hex yang sesuai melebihi panjang string maksimum Oracle. Jika Anda perlu menangani kasus itu, Anda harus menggabungkan Bagaimana cara mendapatkan konten tekstual dari BLOB di Oracle SQL
dengan dokumentasi untuk DMBS_LOB.SUBSTR
untuk pendekatan yang lebih rumit yang memungkinkan Anda melihat substring BLOB.