INSTR()
फ़ंक्शन एक स्ट्रिंग के भीतर एक सबस्ट्रिंग की पहली घटना की स्थिति देता है। मूल रूप से, यह वही काम करता है जो LOCATE()
. का दो-तर्क सिंटैक्स करता है फ़ंक्शन करता है (सिवाय इसके कि तर्कों का क्रम उलट दिया गया है)।
वाक्यविन्यास
वाक्य रचना इस प्रकार है:
INSTR(str,substr)
जहां str
वह स्ट्रिंग है जिसे आप खोजना चाहते हैं, और substr
वह सबस्ट्रिंग है जिसे आप खोज रहे हैं।
उदाहरण 1 - मूल उपयोग
SELECT INSTR('Cats and dogs like to run', 'dogs') AS Result;
परिणाम:
+--------+ | Result | +--------+ | 10 | +--------+
इस मामले में, स्ट्रिंग dogs
स्थिति 10 से शुरू होता है।
उदाहरण 2 - केस सेंसिटिव नहीं
यह केस संवेदी नहीं है:
SELECT INSTR('Cats and dogs like to run', 'DOGS') AS 'Result 1', INSTR('Cats and DOGS like to run', 'dogs') AS 'Result 2';
परिणाम:
+----------+----------+ | Result 1 | Result 2 | +----------+----------+ | 10 | 10 | +----------+----------+
उदाहरण 3 - आंशिक मिलान
इससे कोई फर्क नहीं पड़ता कि आपका खोज शब्द केवल एक शब्द के हिस्से का प्रतिनिधित्व करता है, यह अभी भी मेल खाएगा (आखिरकार, आप बस एक स्ट्रिंग के भीतर एक सबस्ट्रिंग की खोज कर रहे हैं):
SELECT INSTR('Cats and dogs like to run', 'do') AS Result;
परिणाम:
+--------+ | Result | +--------+ | 10 | +--------+
एक स्पेस अभी भी स्ट्रिंग का हिस्सा है। इसलिए यदि आपको आवश्यकता हो तो आप पहले स्थान की खोज कर सकते हैं:
SELECT INSTR('Cats and dogs like to run', ' ') AS Result;
परिणाम:
+--------+ | Result | +--------+ | 5 | +--------+
उदाहरण 4 - केवल पहली घटना
याद रखें, केवल पहली घटना की स्थिति लौटा दी जाती है:
SELECT INSTR('Cats and dogs like to run', 'a') AS Result;
परिणाम:
+--------+ | Result | +--------+ | 2 | +--------+
उदाहरण 5 - जब सबस्ट्रिंग नहीं मिल पाती है
अगर सबस्ट्रिंग नहीं मिलती है, तो 0
. का नतीजा होता है लौटा दिया गया है:
SELECT INSTR('Cats and dogs like to run', 'rabbit') AS Result;
परिणाम:
+--------+ | Result | +--------+ | 0 | +--------+
उदाहरण 6 - गलत पैरामीटर गणना
यदि आप किसी भी पैरामीटर को छोड़ देते हैं, तो आपको एक त्रुटि मिलेगी:
SELECT INSTR('Cats and dogs like to run') AS Result;
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'INSTR'
यदि आप बहुत अधिक पैरामीटर प्रदान करते हैं तो आपको एक त्रुटि भी मिलेगी:
SELECT INSTR('Cats and dogs like to run', 'dogs', 'cats') AS Result;
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'INSTR'