मारियाडीबी में, ORD() एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो अपने स्ट्रिंग तर्क के सबसे बाएं वर्ण का संख्यात्मक वर्ण कोड देता है।
ORD() फ़ंक्शन मल्टी-बाइट वर्णों को संभाल सकता है। यह ASCII() . के विपरीत है फ़ंक्शन, जो केवल सिंगल-बाइट (8 बिट) वर्णों को संभालता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
ORD(str)
जहां str स्ट्रिंग तर्क है।
ORD() केवल बाईं ओर . का सांख्यिक कोड लौटाएगा इस स्ट्रिंग का चरित्र।
यदि सबसे बायां वर्ण एक बहु-बाइट वर्ण है, ORD() इसके परिणाम की गणना करने के लिए निम्न सूत्र का उपयोग करता है:
(1st byte code)
+ (2nd byte code x 256)
+ (3rd byte code x 256 x 256) ... उदाहरण
प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है:
SELECT ORD('H'); परिणाम:
+----------+
| ORD('H') |
+----------+
| 72 |
+----------+
जैसा कि बताया गया है, ORD() केवल बाईं ओर . का कोड लौटाता है चरित्र। इसलिए, निम्नलिखित समान परिणाम देता है:
SELECT ORD('Homer'); परिणाम:
+--------------+
| ORD('Homer') |
+--------------+
| 72 |
+--------------+ इसे और अधिक प्रदर्शित करने के लिए, उपरोक्त स्ट्रिंग में प्रत्येक अक्षर से कोड प्राप्त करें:
SELECT
ORD('H'),
ORD('o'),
ORD('m'),
ORD('e'),
ORD('r'); परिणाम:
+----------+----------+----------+----------+----------+
| ORD('H') | ORD('o') | ORD('m') | ORD('e') | ORD('r') |
+----------+----------+----------+----------+----------+
| 72 | 111 | 109 | 101 | 114 |
+----------+----------+----------+----------+----------+ मल्टी-बाइट वर्ण
यहां एक उदाहरण दिया गया है जो बहु-बाइट वर्ण का उपयोग करता है:
SELECT ORD('©'); परिणाम:
+-----------+
| ORD('©') |
+-----------+
| 49833 |
+-----------+ केस संवेदनशीलता
अपरकेस अक्षरों में उनके लोअरकेस समकक्षों के लिए एक अलग ASCII मान होता है।
उदाहरण:
SELECT
ORD('H'),
ORD('h'); परिणाम:
+----------+----------+
| ORD('H') | ORD('h') |
+----------+----------+
| 72 | 104 |
+----------+----------+ एक डेटाबेस उदाहरण
यहां ORD() का उपयोग करने का एक उदाहरण दिया गया है डेटाबेस क्वेरी में:
USE PetHouse;
SELECT
PetName,
ORD(PetName) AS 'ASCII value of leftmost character'
FROM Pets; परिणाम:
+---------+-----------------------------------+ | PetName | ASCII value of leftmost character | +---------+-----------------------------------+ | Fluffy | 70 | | Fetch | 70 | | Scratch | 83 | | Wag | 87 | | Tweet | 84 | | Fluffy | 70 | | Bark | 66 | | Meow | 77 | +---------+-----------------------------------+
सबसे सही चरित्र
यहाँ, मैं RIGHT() . का उपयोग करता हूँ प्रत्येक पालतू नाम से सबसे सही वर्ण वापस करने के लिए कार्य करें, और फिर ORD() के साथ इसका पुन:उपयोग करें उस चरित्र के लिए ASCII मान वापस करने के लिए कार्य करें।
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ORD(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets; परिणाम:
+---------+---------------------+------------+ | PetName | Rightmost character | ASCII code | +---------+---------------------+------------+ | Fluffy | y | 121 | | Fetch | h | 104 | | Scratch | h | 104 | | Wag | g | 103 | | Tweet | t | 116 | | Fluffy | y | 121 | | Bark | k | 107 | | Meow | w | 119 | +---------+---------------------+------------+
खाली स्ट्रिंग्स
0 . में एक खाली स्ट्रिंग परिणाम प्रदान करना लौटाया जा रहा है।
SELECT ORD(''); परिणाम:
+---------+
| ORD('') |
+---------+
| 0 |
+---------+ शून्य मान
null प्रदान करना परिणाम null लौटाया जा रहा है।
SELECT ORD(null); परिणाम:
+-----------+ | ORD(null) | +-----------+ | NULL | +-----------+