मारियाडीबी में, INSTR()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो किसी अन्य स्ट्रिंग के भीतर एक सबस्ट्रिंग की पहली घटना की स्थिति देता है।
INSTR()
LOCATE()
. के समान है फ़ंक्शन, सिवाय इसके कि LOCATE()
खोज के लिए प्रारंभिक स्थिति निर्दिष्ट करने का विकल्प प्रदान करता है। साथ ही, इन दो कार्यों के बीच तर्क क्रम को उलट दिया जाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
INSTR(str,substr)
जहां str
स्ट्रिंग है, substr
खोजने के लिए सबस्ट्रिंग है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT INSTR('The hot sun', 'HOT');
परिणाम:
+-----------------------------+ | INSTR('The hot sun', 'hot') | +-----------------------------+ | 5 | +-----------------------------+
केस असंवेदनशील
INSTR()
केस असंवेदनशील खोज करता है:
SELECT INSTR('The hot sun', 'HOT');
परिणाम:
+-----------------------------+ | INSTR('The hot sun', 'HOT') | +-----------------------------+ | 5 | +-----------------------------+
एकाधिक घटनाएं
यदि सबस्ट्रिंग एक से अधिक बार आती है, तो केवल पहले वाले की स्थिति लौटा दी जाती है:
SELECT INSTR('The hot sun is really hot', 'hot');
परिणाम:
+-------------------------------------------+ | INSTR('The hot sun is really hot', 'hot') | +-------------------------------------------+ | 5 | +-------------------------------------------+
आंशिक मिलान
अगर सबस्ट्रिंग एक बड़े शब्द का हिस्सा है, तो यह अभी भी एक मैच है:
SELECT INSTR('The hottest sun', 'hot');
परिणाम:
+---------------------------------+ | INSTR('The hottest sun', 'hot') | +---------------------------------+ | 5 | +---------------------------------+
लेकिन अगर स्ट्रिंग सबस्ट्रिंग का केवल एक हिस्सा है, तो यह एक मैच नहीं है:
SELECT INSTR('The hot sun', 'hottest');
परिणाम:
+---------------------------------+ | INSTR('The hot sun', 'hottest') | +---------------------------------+ | 0 | +---------------------------------+
रिक्त स्थान
स्पेस कैरेक्टर अभी भी एक स्ट्रिंग है, इसलिए हम सबस्ट्रिंग में स्पेस शामिल कर सकते हैं, भले ही यह एकमात्र कैरेक्टर हो:
SELECT INSTR('The hot sun', '');
परिणाम:
+---------------------------+ | INSTR('The hot sun', ' ') | +---------------------------+ | 4 | +---------------------------+
खाली स्ट्रिंग
यहाँ क्या होता है जब सबस्ट्रिंग एक खाली स्ट्रिंग होती है:
SELECT INSTR('The hot sun', '');
परिणाम:
+--------------------------+ | INSTR('The hot sun', '') | +--------------------------+ | 1 | +--------------------------+
कोई मिलान नहीं
अगर स्ट्रिंग में सबस्ट्रिंग नहीं मिलता है, INSTR()
रिटर्न 0
:
SELECT INSTR('The hot sun', 'cold');
परिणाम:
+------------------------------+ | INSTR('The hot sun', 'cold') | +------------------------------+ | 0 | +------------------------------+
अशक्त तर्क
null
प्रदान करना किसी भी तर्क के लिए null
. में परिणाम मिलता है :
SELECT
INSTR('The hot sun', null),
INSTR(null, 'hot');
परिणाम:
+----------------------------+--------------------+ | INSTR('The hot sun', null) | INSTR(null, 'hot') | +----------------------------+--------------------+ | NULL | NULL | +----------------------------+--------------------+
तर्कों की गलत संख्या प्रदान करना
कॉलिंग INSTR()
तर्कों की गलत संख्या के साथ, या बिना कोई तर्क पारित किए त्रुटि उत्पन्न होती है:
SELECT INSTR('hot');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'INSTR'