নির্দিষ্ট সারি নির্বাচন করতে MySQL-এ FIND_IN_SET() ফাংশন ব্যবহার করা যায়। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (
ListOfValues VARCHAR(200)
);
রেকর্ড যোগ করি (কমা-বिभক্ত মান হিসেবে):
mysql> INSERT INTO DemoTable VALUES('112,114,567,Java,345');
mysql> INSERT INTO DemoTable VALUES('222,214,256');
mysql> INSERT INTO DemoTable VALUES('2,567,98,C');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+----------------------+ | ListOfValues | +----------------------+ | 112,114,567,Java,345 | | 222,214,256 | | 2,567,98,C | +----------------------+
নির্দিষ্ট মান (যেমন '২') ধারণকারী সারি খুঁজে বের করার কোয়েরি:
mysql> SELECT * FROM DemoTable WHERE FIND_IN_SET('2', ListOfValues) > 0;
আউটপুট:
+--------------+ | ListOfValues | +--------------+ | 2,567,98,C | +--------------+
ব্যাখ্যা: FIND_IN_SET(str, strlist) ফাংশনটি strlist স্ট্রিং-এ str খুঁজে বের করে। যদি পায় তবে এর অবস্থান (১-ভিত্তিক) ফেরত দেয়, না পেলে ০ ফেরত দেয়। এখানে > 0 মানে হলো মানটি সেটে আছে।
সতর্কতা: এটি কমা-বিভক্ত স্ট্রিং-এ কাজ করে। যদি মানগুলোর মাঝপথে স্পেস থাকে (যেমন '1, 2, 3') তবে সঠিকভাবে কাজ নাও করতে পারে। সেক্ষেত্রে REPLACE(ListOfValues, ' ', '') ব্যবহার করে স্পেস সরিয়ে নিতে হয়।