Oracle डाटाबेस में, HEXTORAW()
फ़ंक्शन हेक्साडेसिमल को कच्चे मान में परिवर्तित करता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
HEXTORAW(char)
जहां char
CHAR
में से कोई भी हो सकता है , VARCHAR2
, NCHAR
, या NVARCHAR2
डेटा प्रकार।
उदाहरण
यहां एक उदाहरण दिया गया है:
DUAL सेSELECT HEXTORAW('74a5cfe') FROM DUAL;
परिणाम:
074A5CFE
हम उपयोग कर सकते हैं DUMP()
वापसी मूल्य के डेटा प्रकार का पता लगाने के लिए कार्य करें:
SELECT DUMP(HEXTORAW('74a5cfe')) FROM DUAL;
परिणाम:
Typ=23 Len=4: 7,74,92,254
Typ=23
हमें बताता है कि रिटर्न वैल्यू टाइप 23 का है, जो कि RAW
. के लिए टाइप आईडी है ।
स्पष्ट होने के लिए, यहां एक उदाहरण दिया गया है जो हेक्साडेसिमल स्ट्रिंग और कच्चे मान की तुलना करता है:
SELECT
DUMP('123') AS "r1",
DUMP(HEXTORAW('123')) AS "r2"
FROM DUAL;
परिणाम:
r1 r2 _________________________ _____________________ Typ=96 Len=3: 49,50,51 Typ=23 Len=2: 1,35
हेक्साडेसिमल मान टाइप 96 का होता है, जो कि CHAR
. के लिए टाइप आईडी है और NCHAR
।
गैर हेक्स वर्ण
ऐसा मान पास करने से जो हेक्साडेसिमल मान नहीं है, एक त्रुटि होती है।
उदाहरण:
SELECT HEXTORAW('z') FROM DUAL;
परिणाम:
Error report - ORA-01465: invalid hex number
शून्य तर्क
यदि तर्क null
है , परिणाम null
. है :
SET NULL 'null';
SELECT HEXTORAW(null)
FROM DUAL;
परिणाम:
null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus SQL SELECT
के परिणामस्वरूप जब भी कोई रिक्त मान उत्पन्न होता है, तो एक रिक्त स्थान लौटाते हैं बयान।
हालांकि, आप SET NULL
का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
लौटाया जाना चाहिए।
अवैध तर्क गणना
कॉलिंग HEXTORAW()
बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT HEXTORAW()
FROM DUAL;
परिणाम:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
और बहुत अधिक तर्क पारित करने से भी त्रुटि होती है:
SELECT HEXTORAW('a', 'b')
FROM DUAL;
परिणाम:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"