MySQL में, आप FIELD()
. का उपयोग कर सकते हैं तर्कों की सूची में किसी दिए गए स्ट्रिंग या संख्या की स्थिति वापस करने के लिए कार्य करता है। फ़ंक्शन बाद के तर्कों की सूची में पहले तर्क की अनुक्रमणिका (स्थिति) देता है।
वाक्य रचना इस प्रकार है:
FIELD(str,str1,str2,str3,...)
जहां str
वह आइटम है जिसे आप ढूंढना चाहते हैं, और str1,str2,str3,...
वह सूची है जिसके माध्यम से आप खोज रहे हैं।
यहां एक उदाहरण दिया गया है:
SELECT FIELD('Homer', 'Marge', 'Homer', 'Bart') AS 'Where is Homer?';
परिणाम:
+-----------------+ | Where is Homer? | +-----------------+ | 2 | +-----------------+
इस उदाहरण में, सूची है:'Marge', 'Homer', 'Bart'
और हम स्ट्रिंग की खोज कर रहे हैं Homer
उस सूची के भीतर। और क्योंकि Homer
तर्कों की सूची में दूसरा आइटम है, परिणाम 2
. है ।
सटीक मिलान
ध्यान दें कि यह एक सटीक मिलान होना चाहिए, अन्यथा यह 0
लौटाएगा ।
उदाहरण के लिए, यदि हम r
Homer
. से , हम अंत में Home
. की खोज करते हैं इसके बजाय:
SELECT FIELD('Home', 'Marge', 'Homer', 'Bart') AS 'Where is Home?';
परिणाम:
+-----------------+ | Where is Home? | +-----------------+ | 0 | +-----------------+
इस मामले में, भले ही Homer
इसमें Home
शामिल है , यह सटीक मिलान नहीं है और परिणाम 0
. है ।
संख्या
FIELD()
फ़ंक्शन संख्याओं के साथ भी काम करता है:
SELECT FIELD(1, 3, 2, 1) AS 'Where is 1?';
परिणाम:
+-------------+ | Where is 1? | +-------------+ | 3 | +-------------+
जब सभी तर्क FIELD()
संख्याएँ हैं, सभी तर्कों की तुलना संख्याओं के रूप में की जाती है। यदि सभी तार हैं, तो उनकी तुलना तार के रूप में की जाती है। यदि वे मिश्रित हैं, तो उनकी तुलना दोगुने के रूप में की जाती है।
FIELD()
फ़ंक्शन ELT()
. का पूरक है फ़ंक्शन, जो आपको सूची में उसकी स्थिति के आधार पर सूची आइटम खोजने की अनुमति देता है।
यह भी देखें कि FIND_IN_SET()
का उपयोग करके किसी सूची आइटम की स्थिति कैसे लौटाएं समारोह।