MySQL कुछ ऐसे फंक्शन का समर्थन करता है, जिनका उपयोग किसी सरणी के रूप में व्यवस्थित मानों के एक सेट से इंडेक्स पोजीशन या वास्तविक मान निकालने के लिए किया जा सकता है। ELT () और FIELD () ऐसे कार्यों के उदाहरण हैं। आइए इनके बारे में विस्तार से समझते हैं।
ELT() फ़ंक्शन कई तर्कों को स्वीकार करता है जहां पहला तर्क संख्या है। यह वह मान लौटाता है जो पहले तर्क में निर्दिष्ट स्थान पर उपलब्ध है।
SELECT ELT(3,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
उपरोक्त क्वेरी "My SQL" के रूप में परिणाम देती है। उपलब्ध मानों के सेट से, यह तीसरा मान देता है जो कि My SQL है। यदि पहला तर्क 0 है, शून्य से कम है, या कुल तर्कों की संख्या से अधिक है, तो यह NULL लौटाता है
SELECT ELT(0,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
यहां दो और उदाहरण दिए गए हैं जो परिणाम को शून्य मान के रूप में वापस कर देंगे।
SELECT ELT(31,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
SELECT ELT(-5,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
उपरोक्त सभी NULL मान लौटाते हैं।
FILED() फ़ंक्शन ELT() के ठीक विपरीत है। यह कई तर्कों को स्वीकार करता है और पहले मान के रूप में निर्दिष्ट सरणी में मान की स्थिति देता है
SELECT FIELD('My SQL','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
उपरोक्त रिटर्न 3 पहले तर्क "My SQL" में निर्दिष्ट मान के रूप में सरणी में तीसरे स्थान पर उपलब्ध है।
यदि मान सरणी में निर्दिष्ट नहीं है तो यह 0 देता है
SELECT FIELD('COMPUTER','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
परिणाम 0 है।
क्या आपने कभी अपने व्यावसायिक तर्क में इन कार्यों का उपयोग किया है? अगर हाँ, तो मैं उन्हें जानना चाहूँगा।