जैसा कि हम जानते हैं, दोनों फ़ंक्शन उनमें प्रदान किए गए आर्गुमेंट्स से एक स्ट्रिंग खोजने के लिए उपयोग किए जाते हैं लेकिन उनके बीच कुछ महत्वपूर्ण अंतर हैं:
FIND_IN_SET() − फ़ंक्शन स्ट्रिंग सूची का उपयोग करता है जो स्वयं एक स्ट्रिंग है जिसमें सबस्ट्रिंग कॉमा से अलग होते हैं। जबकि, FIELD() फ़ंक्शन में विभिन्न स्ट्रिंग्स की सूची होती है जिनमें से यह खोजे जाने वाली स्ट्रिंग का इंडेक्स नंबर ढूंढता है, यदि मौजूद है।
FIND_IN_SET() − फ़ंक्शन NULL लौटाता है यदि कोई भी आर्गुमेंट यानी खोज स्ट्रिंग या स्ट्रिंग सूची NULL है। इसके विपरीत, FIELD() फ़ंक्शन NULL नहीं लौटाता बल्कि 0 लौटाता है यदि खोज स्ट्रिंग NULL है।
उदाहरण
mysql> Select FIND_IN_SET(NULL,'Ram is a good boy') AS Result;
+--------+
| Result |
+--------+
| NULL |
+--------+
1 row in set (0.00 sec)
mysql> SELECT FIND_IN_SET('RAM',NULL)AS RESULT;
+--------+
| RESULT |
+--------+
| NULL |
+--------+
1 row in set (0.00 sec)
mysql> Select FIELD(NULL,'Ram','is','good','boy');
+-------------------------------------+
| FIELD(NULL,'Ram','is','good','boy') |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (0.00 sec)