দুই ফাংশনই স্ট্রিং সার্চ করতে ব্যবহৃত হয় কিন্তু পার্থক্য রয়েছে:
- FIND_IN_SET() কমা-সেপারেটেড স্ট্রিং লিস্টে সার্চ করে। INSTR() একটি স্ট্রিংয়ের মধ্যে সাবস্ট্রিংর প্রথম আবির্ভাব খুঁজে।
- ইন্টিজার সার্চের ক্ষেত্রে FIND_IN_SET() বেশি উপযোগী। উদাহরণ:
উদাহরণ
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() '2'-কে '12'-এর ভেতর থেকে খুঁজে পায় (ভুল ফলাফল ১), কিন্তু FIND_IN_SET() সঠিকভাবে ০ ফেরত দিয়েছে কারণ '2' কমা-সেপারেটেড তালিকার আলাদা আইটেম নয়।