Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL INSTR() और FIND_IN_SET() फ़ंक्शन में क्या अंतर है?


जैसा कि हम जानते हैं, दोनों फ़ंक्शन उनमें प्रदान किए गए आर्गुमेंट्स से एक स्ट्रिंग खोजने के लिए उपयोग किए जाते हैं लेकिन उनके बीच कुछ महत्वपूर्ण अंतर हैं:

  • FIND_IN_SET() फ़ंक्शन स्ट्रिंग सूची का उपयोग करता है जो स्वयं एक स्ट्रिंग है जिसमें सबस्ट्रिंग कॉमा से अलग होते हैं। जबकि, INSTR() फ़ंक्शन में एक स्ट्रिंग होती है जिससे यह सबस्ट्रिंग की पहली घटना की स्थिति ढूंढेगा यदि मौजूद है।
  • पूर्णांकों के मामले में, FIND_IN_SET() INSTR() फ़ंक्शन की तुलना में अधिक उपयुक्त है। इसे निम्नलिखित उदाहरण से समझा जा सकता है:

उदाहरण

mysql> Select IF(INSTR('10,11,12,13',2) > 0,1,0) As Result; 
+--------+ 
| Result | 
+--------+ 
|      1 | 
+--------+ 
1 row in set (0.05 sec) 
mysql> Select IF(FIND_IN_SET(2,'10,11,12,13') > 0,1,0)As Result; 
+--------+ 
| Result | 
+--------+ 
|      0 | 
+--------+ 
1 row in set (0.00 sec)

उपरोक्त उदाहरणों के परिणाम सेट से, हम देख सकते हैं कि INSTR() फ़ंक्शन 1 लौटाता है भले ही 2 स्ट्रिंग के रूप में आर्गुमेंट्स में मौजूद नहीं है। लेकिन FIND_IN_SET() फ़ंक्शन 0 लौटाता है जो सही उत्तर है।


  1. - MySQL में TINYINT(1) और Boolean में क्या अंतर है?

    MySQL में TINYINT(1) और Boolean: कोई अंतर नहीं MySQL में BOOLEAN (या BOOL) वास्तव में TINYINT(1) का एक पर्याय (synonym) है। दोनों आंतरिक रूप से समान हैं। प्रदर्शन: Boolean कॉलम वास्तव में TINYINT(1) बनाता है CREATE TABLE DemoTable ( isMarried BOOLEAN ); DESC DemoTable; आउटपुट: +-----------+--

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl

  1. - C# में virtual और abstract फ़ंक्शन के बीच अंतर क्या है?

    Abstract विधियां कार्यान्वयन प्रदान नहीं करतीं और वे व्युत्पन्न वर्गों को विधि ओवरराइड करने के लिए बाध्य करती हैं। यह abstract क्लास के तहत घोषित होती है। एक abstract विधि में केवल विधि परिभाषा होती है। Virtual विधियों का एक कार्यान्वयन होता है, abstract विधि के विपरीत, और यह abstract और गैर-abstrac