Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में INSTR () फ़ंक्शन कैसे काम करता है

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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL अद्यतन मामला कब/फिर/अन्यथा

  2. प्रदर्शन को बढ़ावा देने के लिए mysql

  3. mysql मुद्रा के रूप में int का चयन करें या int को मुद्रा प्रारूप में कनवर्ट करें?

  4. DEFAULT क्लॉज में CURRENT_TIMESTAMP के साथ केवल एक TIMESTAMP कॉलम क्यों हो सकता है?

  5. MySQL में एक स्ट्रिंग में वर्णों के क्रम को कैसे उलटें?