आप अपने LONG RAW मान को PL/SQL ब्लॉक में BLOB में बदल सकते हैं, और उसके बाद बेस 64-एन्कोड कर सकते हैं:
CREATE OR REPLACE FUNCTION to_base64 (
vcodem IN FOEMP.COD_EMPR%TYPE,
vcodempl IN FOEMP.COD_EMPL%TYPE)
RETURN VARCHAR2
IS
l_blob BLOB;
l_long_raw LONG RAW;
BEGIN
SELECT fot_empl INTO l_long_raw
FROM foemp
WHERE COD_EMPL = vcodempl AND COD_EMPR = vcodem;
l_blob := TO_BLOB(l_long_raw);
RETURN UTL_RAW.cast_to_varchar2 (UTL_ENCODE.base64_encode (l_blob));
END;
/
बेशक, का जोरदार सुझाव है कि आप लंबे रॉ कॉलम को कनवर्ट करें बाइनरी LOB (BLOB) कॉलम के लिए ; अभी भी डेटा को LONG या LONG रॉ के रूप में संग्रहीत करना अब पुरातन लगता है।