मारियाडीबी में एक INSTR()
है फ़ंक्शन और एक LOCATE()
. भी समारोह। ऐसा प्रतीत होता है कि दोनों कार्य एक ही काम करते हैं - एक स्ट्रिंग के भीतर एक सबस्ट्रिंग की स्थिति लौटाएं।
हालांकि, एक अंतर है।
मतभेद
हम इन दो कार्यों के बीच उनके सिंटैक्स और साथ ही कुछ उदाहरणों को देखकर अंतर देख सकते हैं।
वाक्यविन्यास
INSTR()
. के लिए सिंटैक्स :
INSTR(str,substr)
LOCATE()
. के लिए दो स्वीकृत सिंटैक्स :
LOCATE(substr,str)
LOCATE(substr,str,pos)
जहां str
स्ट्रिंग है, substr
खोजने के लिए सबस्ट्रिंग है, और pos
खोज शुरू करने की स्थिति है।
दो कार्यों के बीच के अंतर को संक्षेप में निम्नानुसार किया जा सकता है:
LOCATE()
फ़ंक्शन उन्हीं दो तर्कों को स्वीकार करता है जोINSTR()
स्वीकार करता है, लेकिन उल्टे क्रम में।
LOCATE()
फ़ंक्शन खोज के लिए प्रारंभिक स्थिति निर्दिष्ट करने के लिए एक वैकल्पिक तीसरा तर्क स्वीकार करता है।INSTR()
फ़ंक्शन इस तरह के तर्क को स्वीकार नहीं करता है।
तो LOCATE()
अतिरिक्त कार्यक्षमता प्रदान करता है जो INSTR()
प्रदान नहीं करता है।
उदाहरण 1 - पहला अंतर
यहां एक उदाहरण दिया गया है जो रिवर्स ऑर्डर दिखाता है जिसमें दो फ़ंक्शन अपने तर्क स्वीकार करते हैं:
SELECT
INSTR('Disconnect', 'con'),
LOCATE('con', 'Disconnect');
परिणाम:
+----------------------------+-----------------------------+ | INSTR('Disconnect', 'con') | LOCATE('con', 'Disconnect') | +----------------------------+-----------------------------+ | 4 | 4 | +----------------------------+-----------------------------+
उदाहरण 2 - दूसरा अंतर
यहां एक उदाहरण दिया गया है जो LOCATE()
. की अतिरिक्त कार्यक्षमता को दर्शाता है INSTR()
over से अधिक प्रदान करता है :
SELECT
INSTR('My cat is a good cat', 'cat') AS "INSTR()",
LOCATE('cat', 'My cat is a good cat') AS "LOCATE()",
LOCATE('cat', 'My cat is a good cat', 10) AS "LOCATE() with 3rd Argument";
परिणाम:
+---------+----------+----------------------------+ | INSTR() | LOCATE() | LOCATE() with 3rd Argument | +---------+----------+----------------------------+ | 4 | 4 | 18 | +---------+----------+----------------------------+
यह उदाहरण इस तथ्य पर प्रकाश डालता है कि LOCATE()
फ़ंक्शन हमें एक वैकल्पिक तीसरा तर्क प्रदान करता है। यह तर्क हमें खोज के लिए एक प्रारंभिक स्थिति निर्दिष्ट करने की अनुमति देता है, जिसका अर्थ है कि हम पूरी स्ट्रिंग में केवल पहली घटना तक ही सीमित नहीं हैं।