मारियाडीबी में, FIELD()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो निर्दिष्ट पैटर्न से मेल खाने वाली स्ट्रिंग या संख्या की अनुक्रमणिका स्थिति देता है।
यह दो या दो से अधिक तर्कों को स्वीकार करता है। पहला वह पैटर्न है जिसे आप खोजना चाहते हैं। बाद के सभी तर्क स्ट्रिंग या संख्याएं हैं जिनके खिलाफ पैटर्न का मिलान करना है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
FIELD(pattern, str1[,str2,...])
जहां pattern
पैटर्न है, और str1[, str2,…]
स्ट्रिंग्स या संख्याओं का प्रतिनिधित्व करता है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT FIELD('Green', 'Red', 'Green', 'Blue');
परिणाम:
+----------------------------------------+ | FIELD('Green', 'Red', 'Green', 'Blue') | +----------------------------------------+ | 2 | +----------------------------------------+
इस मामले में, पैटर्न (Green
) दूसरे स्थान पर होता है, और इसलिए 2
लौटा दिया गया है।
केस संवेदनशीलता
FIELD()
फ़ंक्शन स्ट्रिंग्स को केस-असंवेदनशील मानता है।
उदाहरण:
SELECT FIELD('BLUE', 'Red', 'Green', 'Blue');
परिणाम:
+---------------------------------------+ | FIELD('BLUE', 'Red', 'Green', 'Blue') | +---------------------------------------+ | 3 | +---------------------------------------+
कोई मिलान नहीं
अगर कोई मेल नहीं है, 0
लौटा दिया गया है।
उदाहरण:
SELECT FIELD('Go', 'Red', 'Green', 'Blue');
परिणाम:
+-------------------------------------+ | FIELD('Go', 'Red', 'Green', 'Blue') | +-------------------------------------+ | 0 | +-------------------------------------+
नंबर
जब सभी तर्क संख्या होते हैं, तो उन्हें संख्या के रूप में माना जाता है। अन्यथा उन्हें युगल माना जाता है।
उदाहरण:
SELECT FIELD(3, 40, 2, 18, 10, 3);
परिणाम:
+----------------------------+ | FIELD(3, 40, 2, 18, 10, 3) | +----------------------------+ | 5 | +----------------------------+
एकाधिक मिलान
यदि पैटर्न के कई मिलान हैं, तो केवल पहले वाले का सूचकांक लौटाया जाता है:
SELECT FIELD(3, 40, 3, 18, 10, 3);
परिणाम:
+----------------------------+ | FIELD(3, 40, 3, 18, 10, 3) | +----------------------------+ | 2 | +----------------------------+
शून्य पैटर्न निर्दिष्ट करना
null
प्रदान करना पहले तर्क के रूप में 0
. में परिणाम होता है :
SELECT FIELD(null, 1, 2, 3);
परिणाम:
+----------------------+ | FIELD(null, 1, 2, 3) | +----------------------+ | 0 | +----------------------+
सिर्फ एक स्ट्रिंग तर्क प्रदान करना
मिलान के लिए एक ही तर्क देना मान्य है:
SELECT FIELD(205, 205);
परिणाम:
+-----------------+ | FIELD(205, 205) | +-----------------+ | 1 | +-----------------+
एकल तर्क
लेकिन FIELD()
. के लिए सिर्फ एक तर्क पास करना एक त्रुटि देता है:
SELECT FIELD(205);
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIELD'
अनुपलब्ध तर्क
कॉलिंग FIELD()
कोई तर्क पारित किए बिना त्रुटि उत्पन्न होती है:
SELECT FIELD();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIELD'