CAST_TO_RAW पर एक नज़र डालें दस्तावेज़ीकरण:
आपको इसका इस्तेमाल करना चाहिए:
base64DecodedInput:= UTL_ENCODE.base64_decode(UTL_RAW.CAST_TO_RAW(TO_CHAR(valueToDecrypt)));
DBMS_OUTPUT.PUT_LINE ( 'Base64 decoded is: ' || base64DecodedInput);
00010203040506074DBBEAB1D9972AB0
कौन सा (स्वरूपित) वांछित परिणाम के बराबर होना चाहिए:
00 01 02 03 04 05 06 07 4D BB EA B1 D9 97 2A B0
NVARCHAR2 . का उपयोग करना काफी बेकार है एक BASE64 स्ट्रिंग के लिए। BASE64 एन्कोडिंग का मुख्य उद्देश्य केवल ASCII वर्णों के साथ मनमाने डेटा का प्रतिनिधित्व करना है, इसलिए NVARCHAR2 का कोई मतलब नहीं है। चूंकि BASE64 में केवल ASCII है, इसलिए आपको CAST(... AS VARCHAR2(200)) पर किसी भी वर्ण एन्कोडिंग के बारे में चिंता करने की आवश्यकता नहीं है। ।
बेशक, डिकोड किए गए . के लिए स्ट्रिंग डेटा प्रकार NVARCHAR2 बहुत उपयोगी हो सकता है।