কম্পিউটার টিউটোরিয়াল

MySQL-এ কমা-বিভক্ত তালিকায় মান রয়েছে কিনা যাচাই করার পদ্ধতি

MySQL-এ কমা-বিভক্ত (comma-separated) তালিকায় কোনো নির্দিষ্ট মান রয়েছে কিনা যাচাই করতে FIND_IN_SET() ফাংশন ব্যবহার করা হয়।

সিনট্যাক্স

SELECT * FROM yourTableName WHERE FIND_IN_SET('yourValue', yourColumnName) > 0;

উদাহরণ

প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE existInCommaSeparatedList (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(200)
    -> );

ডেটা ইনসার্ট করি:

mysql> INSERT INTO existInCommaSeparatedList(Name) VALUES('John,Carol,Sam,Larry,Bob,David');
mysql> INSERT INTO existInCommaSeparatedList(Name) VALUES('Maxwell,Chris,James');
mysql> INSERT INTO existInCommaSeparatedList(Name) VALUES('Robert,Ramit');

সকল রেকর্ড দেখি:

mysql> SELECT * FROM existInCommaSeparatedList;
+----+--------------------------------+
| Id | Name                           |
+----+--------------------------------+
|  1 | John,Carol,Sam,Larry,Bob,David |
|  2 | Maxwell,Chris,James            |
|  3 | Robert,Ramit                   |
+----+--------------------------------+

এখন "Robert" আছে কিনা যাচাই করি:

mysql> SELECT * FROM existInCommaSeparatedList WHERE FIND_IN_SET('Robert', Name) > 0;
+----+--------------+
| Id | Name         |
+----+--------------+
|  3 | Robert,Ramit |
+----+--------------+

গুরুত্বপূর্ণ: FIND_IN_SET() কেস-ইনসেনসিটিভ (case-insensitive) এবং কমা (,) দিয়ে বিভক্ত স্ট্রিংয়ের জন্য কাজ করে। যদি কলামে স্পেস থাকে (যেমন "John, Carol") তবে সেটি সঠিক কাজ নাও করতে পারে।

  1. MySQL কোয়েরি কলাম মান রিপ্লেস করার জন্য

  2. MySQL-এ FIND_IN_SET() দিয়ে কাস্টম ভেরিয়েবলের কমা-বিভক্ত মান থেকে খুঁজে বের করা

  3. MySQL-এ LENGTH ও REPLACE ব্যবহার করে কমা (,) গণনা করা

  4. MySQL-এ FIND_IN_SET() ব্যবহার করে কমা-সেপারেটেড লিস্টে মান খুঁজে বের করা