Oracle डाटाबेस में, ASCII()
फ़ंक्शन अपने तर्क के पहले वर्ण के डेटाबेस वर्ण सेट में दशमलव प्रतिनिधित्व देता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
ASCII(char)
जहां char
डेटा प्रकार का है CHAR
, VARCHAR2
, NCHAR
, या NVARCHAR2
।
ASCII()
इस स्ट्रिंग के केवल पहले वर्ण का संख्यात्मक ASCII मान देता है।
उदाहरण
प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है:
SELECT ASCII('Oracle')
FROM DUAL;
परिणाम:
79
यह हमें बताता है कि अपरकेस अक्षर O
इसका संख्यात्मक ASCII मान 79
. है ।
जैसा कि बताया गया है, ASCII()
केवल पहले . का ASCII मान लौटाता है चरित्र। इसलिए, निम्नलिखित समान परिणाम देता है:
SELECT ASCII('O')
FROM DUAL;
परिणाम:
79
इसे और अधिक प्रदर्शित करने के लिए, आइए उपरोक्त स्ट्रिंग में प्रत्येक अक्षर से संख्यात्मक ASCII मान प्राप्त करें:
SELECT
ASCII('O') AS "O",
ASCII('r') AS "r",
ASCII('a') AS "a",
ASCII('c') AS "c",
ASCII('l') AS "l",
ASCII('e') AS "e"
FROM DUAL;
परिणाम:
O r a c l e _____ ______ _____ _____ ______ ______ 79 114 97 99 108 101
केस संवेदनशीलता
अपरकेस अक्षरों में उनके लोअरकेस समकक्षों के लिए एक अलग ASCII मान होता है।
उदाहरण:
SELECT
ASCII('R') AS "R",
ASCII('r') AS "r"
FROM DUAL;
परिणाम:
R r _____ ______ 82 114
एक डेटाबेस उदाहरण
यहां ASCII()
का उपयोग करने का एक उदाहरण दिया गया है डेटाबेस क्वेरी में:
SELECT
first_name,
ASCII(first_name) AS "ASCII value of leftmost character"
FROM employees
FETCH FIRST 10 ROWS ONLY;
परिणाम:
FIRST_NAME ASCII value of leftmost character _____________ ____________________________________ Ellen 69 Sundar 83 Mozhe 77 David 68 Hermann 72 Shelli 83 Amit 65 Elizabeth 69 Sarah 83 David 68
सबसे सही चरित्र
यहां, मैं SUBSTR()
. का उपयोग करता हूं प्रत्येक पालतू नाम से सबसे सही वर्ण वापस करने के लिए कार्य करें, और फिर ASCII()
के साथ इसका पुन:उपयोग करें उस चरित्र के लिए ASCII मान वापस करने के लिए कार्य करें।
SELECT
first_name,
SUBSTR(first_name, -1) AS "Rightmost character",
ASCII(SUBSTR(first_name, -1)) AS "ASCII"
FROM employees
FETCH FIRST 10 ROWS ONLY;
परिणाम:
FIRST_NAME Rightmost character ASCII _____________ ______________________ ________ Ellen n 110 Sundar r 114 Mozhe e 101 David d 100 Hermann n 110 Shelli i 105 Amit t 116 Elizabeth h 104 Sarah h 104 David d 100
खाली स्ट्रिंग्स
null
. में एक खाली स्ट्रिंग परिणाम प्रदान करना लौटाया जा रहा है।
SET NULL 'null';
SELECT ASCII('')
FROM DUAL;
परिणाम:
ASCII('') ____________ null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null
. खाली स्थान लौटाते हैं SQL SELECT
. के परिणामस्वरूप होता है बयान।
हालांकि, आप SET NULL
. का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
लौटाया जाना चाहिए।
शून्य मान
पासिंग null
परिणाम null
:
SELECT ASCII(null)
FROM DUAL;
परिणाम:
ASCII(NULL) ______________ null
अनुपलब्ध तर्क
बिना तर्क पारित किए फ़ंक्शन को कॉल करने से त्रुटि होती है:
SELECT ASCII()
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT ASCII() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
बहुत सारे तर्क पारित होने पर भी ऐसा ही होता है:
SELECT ASCII('a', 'b')
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT ASCII('a', 'b') FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: