Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle में ASCII () फ़ंक्शन

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IN () क्लॉज ऑरैकल PLSQL में ऐरे

  2. IN बनाम OR Oracle, कौन सा तेज़?

  3. संख्या डेटा प्रकार के लिए Oracle स्टोर अनुगामी शून्य करता है?

  4. TNS-12519 w/o अधिकतम प्रक्रियाएं पहुंच गईं

  5. Oracle में एक ऑटो इंक्रीमेंट प्राथमिक कुंजी को कैसे परिभाषित करें