मारियाडीबी में, ELT()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो एक संख्यात्मक तर्क को स्वीकार करता है, जिसके बाद स्ट्रिंग तर्कों की एक श्रृंखला होती है। यह तब स्ट्रिंग देता है जो पहले तर्क द्वारा प्रदान की गई संख्यात्मक स्थिति से मेल खाती है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
ELT(N, str1[, str2, str3,...])
जहां N
संख्यात्मक तर्क है, और str1[, str2, str3,…]
स्ट्रिंग तर्कों का प्रतिनिधित्व करता है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT ELT(2, 'Red', 'Green', 'Blue');
परिणाम:
+--------------------------------+ | ELT(2, 'Red', 'Green', 'Blue') | +--------------------------------+ | Green | +--------------------------------+
इस मामले में, हमने 2
. का इस्तेमाल किया दूसरा स्ट्रिंग तर्क वापस करने के लिए।
तैरता
यदि पहला तर्क FLOAT
है , MariaDB इसे निकटतम पूर्णांक तक पूर्णांकित करती है:
SELECT
ELT(2.4, 'Red', 'Green', 'Blue') AS "2.4",
ELT(2.5, 'Red', 'Green', 'Blue') AS "2.5";
परिणाम:
+-------+------+ | 2.4 | 2.5 | +-------+------+ | Green | Blue | +-------+------+
सीमा से बाहर की स्थिति निर्दिष्ट करना
श्रेणी से बाहर की स्थिति निर्दिष्ट करने से null
. में परिणाम मिलते हैं वापस किया जा रहा है। नीचे दिए गए उदाहरण।
शून्य की स्थिति
0
प्रदान करना जैसा कि पहला तर्क देता है null
:
SELECT ELT(0, 'Red', 'Green', 'Blue');
परिणाम:
+--------------------------------+ | ELT(0, 'Red', 'Green', 'Blue') | +--------------------------------+ | NULL | +--------------------------------+
नकारात्मक स्थिति
पहले तर्क के रूप में एक नकारात्मक मान प्रदान करना null
. देता है :
SELECT ELT(-2, 'Red', 'Green', 'Blue');
परिणाम:
+---------------------------------+ | ELT(-2, 'Red', 'Green', 'Blue') | +---------------------------------+ | NULL | +---------------------------------+
जब स्थिति बहुत बड़ी हो
यदि पहला तर्क एक संख्या है जो स्ट्रिंग तर्कों की कुल संख्या से अधिक है, ELT()
रिटर्न शून्य:
SELECT ELT(20, 'Red', 'Green', 'Blue');
परिणाम:
+---------------------------------+ | ELT(20, 'Red', 'Green', 'Blue') | +---------------------------------+ | NULL | +---------------------------------+
गैर-संख्यात्मक स्थिति
यदि पहला तर्क एक संख्या नहीं है, ELT()
रिटर्न null
:
SELECT ELT('Two', 'Red', 'Green', 'Blue');
परिणाम:
+------------------------------------+ | ELT('Two', 'Red', 'Green', 'Blue') | +------------------------------------+ | NULL | +------------------------------------+
सिर्फ एक स्ट्रिंग तर्क प्रदान करना
एकल स्ट्रिंग तर्क प्रदान करना मान्य है, हालांकि इस मामले में पहला तर्क 1
होना चाहिए null
होने से बचने के लिए :
SELECT ELT(1, 'Red');
परिणाम:
+---------------+ | ELT(1, 'Red') | +---------------+ | Red | +---------------+
नल स्ट्रिंग्स
स्ट्रिंग तर्क null
हो सकते हैं दूसरों के परिणाम को प्रभावित किए बिना:
SELECT ELT(3, 'Red', null, 'Blue');
परिणाम:
+-----------------------------+ | ELT(3, 'Red', null, 'Blue') | +-----------------------------+ | Blue | +-----------------------------+
हालांकि, एक संख्या निर्दिष्ट करना जो null
. से मेल खाती हो स्ट्रिंग तर्क स्पष्ट रूप से वापस आ जाएगा null
:
SELECT ELT(2, 'Red', null, 'Blue');
परिणाम:
+-----------------------------+ | ELT(2, 'Red', null, 'Blue') | +-----------------------------+ | NULL | +-----------------------------+
शून्य स्थिति निर्दिष्ट करना
null
प्रदान करना पहले तर्क के रूप में null
. में परिणाम होता है :
SELECT ELT(null, 'Red');
परिणाम:
+------------------+ | ELT(null, 'Red') | +------------------+ | NULL | +------------------+
एकल तर्क
केवल एक तर्क देने से त्रुटि मिलती है:
SELECT ELT(2);
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'
अनुपलब्ध तर्क
कॉलिंग ELT()
कोई तर्क पारित किए बिना त्रुटि उत्पन्न होती है:
SELECT ELT();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'