Oracle डेटाबेस में, ASCIISTR()
फ़ंक्शन डेटाबेस वर्ण सेट में दिए गए स्ट्रिंग का ASCII संस्करण देता है।
सिंटैक्स
वाक्यविन्यास इस प्रकार है:
ASCIISTR(char)
जहां char
एक स्ट्रिंग या एक अभिव्यक्ति है जो किसी भी वर्ण सेट में एक स्ट्रिंग को हल करती है।
गैर-ASCII वर्णों को \xxxx
. के रूप में रूपांतरित किया जाता है , जहां xxxx
UTF-16 कोड इकाई का प्रतिनिधित्व करता है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT ASCIISTR('Fish')
FROM DUAL;
परिणाम:
Fish
इस मामले में, परिणाम इनपुट के समान होता है, क्योंकि इनपुट में ASCII वर्णों का उपयोग किया जाता है।
यहां एक और है जो गैर-ASCII वर्णों का उपयोग करता है:
SELECT ASCIISTR('ปลา')
FROM DUAL;
परिणाम:
\0E1B\0E25\0E32
यहां, हम तीन वर्णों में से प्रत्येक को उनके ASCII समकक्षों में लौटाते हैं।
इस मामले में, इनपुट (ปลา
) "मछली" के लिए थाई शब्द है। इसे "प्ला" के रूप में उच्चारित किया जा सकता है।
यहाँ क्या होता है जब हम Plā
. पास करते हैं ASCIISTR()
. पर समारोह:
SELECT ASCIISTR('Plā')
FROM DUAL;
परिणाम:
Pl\0101
इस मामले में, हमने जो पहले दो अक्षर पारित किए हैं वे ASCII वर्ण हैं, लेकिन तीसरा वर्ण गैर-ASCII है। इसलिए, फ़ंक्शन पहले दो वर्णों को अपरिवर्तित लौटाता है, और तीसरा ASCII में परिवर्तित हो जाता है।
यहाँ एक और है जो น้ำ
. पास करता है , जो "पानी" के लिए थाई शब्द है:
SELECT ASCIISTR('น้ำ')
FROM DUAL;
परिणाम:
\0E19\0E49\0E33
शून्य मान
यदि तर्क null
है , परिणाम null
. है :
SET NULL 'null';
SELECT ASCIISTR(null)
FROM DUAL;
परिणाम:
null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी SQL SELECT
के परिणामस्वरूप कोई रिक्त मान उत्पन्न होता है तो एक रिक्त स्थान लौटाते हैं बयान।
हालांकि, आप SET NULL
का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
वापस किया जाना चाहिए।
अवैध तर्क गणना
कॉलिंग ASCIISTR()
बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT ASCIISTR()
FROM DUAL;
परिणाम:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"