जैसा कि हम जानते हैं, दोनों कार्यों का उपयोग उनमें दिए गए तर्कों से एक स्ट्रिंग को खोजने के लिए किया जाता है, लेकिन उनके बीच कुछ महत्वपूर्ण अंतर इस प्रकार हैं
- 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 देता है जो सही उत्तर है।