MySQL-এ IN() অপারেটর আন্ডারস্কোর (_) যুক্ত স্ট্রিং ভ্যালুদের সাথে সঠিকভাবে কাজ করে, কারণ IN() এক্সেক্ট ম্যাচ করে (প্যাটার্ন ম্যাচিং নয়)।
টেবিল ও ডেটা
mysql> create table DemoTable1363 ( StudentId varchar(20) );
mysql> insert into DemoTable1363 values('901'),('702'),('901_John_Doe'),('1001_Carol_Taylor');
সব রেকর্ড
mysql> select * from DemoTable1363; +-------------------+ | StudentId | +-------------------+ | 901 | | 702 | | 901_John_Doe | | 1001_Carol_Taylor | +-------------------+
IN() কোয়েরি
mysql> select * from DemoTable1363 where StudentId IN('702','1001');
+-----------+
| StudentId |
+-----------+
| 702 |
+-----------+
ফলাফল: শুধু '702' ম্যাচ করলো। '1001' ম্যাচ করলো না কারণ টেবিলে '1001_Carol_Taylor' আছে, '1001' নেই। IN() এক্সেক্ট ম্যাচ করে, LIKE-এর মত ワイル্ডকার্ড হিসেবে আন্ডারস্কোর ট্রিট করে না।
দ্রষ্টব্য: যদি প্যাটার্ন ম্যাচিং দরকার হয় (যেমন 901%), তবে LIKE বা REGEXP ব্যবহার করুন।