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

MySQL-এ কমা-সেপারেটেড স্ট্রিংয়ে নির্দিষ্ট সংখ্যা খুঁজে রো সিলেক্ট করা

MySQL-এ কমা-সেপারেটেড মান থাকা কলামে নির্দিষ্ট সংখ্যা আছে কিনা চেক করতে CONCAT এবং LIKE ব্যবহার করা হয়।

সিনট্যাক্স

SELECT * FROM yourTableName 
WHERE CONCAT(',', yourColumnName, ',') LIKE '%,yourValue,%';

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo49 (
    id VARCHAR(20),
    first_name VARCHAR(20)
);

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

INSERT INTO demo49 VALUES ('4,5,6', 'Adam');
INSERT INTO demo49 VALUES ('5,3,2', 'Mike');
INSERT INTO demo49 VALUES ('3,4,9', 'Bob');

টেবিলের ডেটা:

+-------+------------+
| id    | first_name |
+-------+------------+
| 4,5,6 | Adam       |
| 5,3,2 | Mike       |
| 3,4,9 | Bob        |
+-------+------------+

কোয়েরি

সंख্যা ৪ থাকা রোগুলো সিলেক্ট:

SELECT * FROM demo49 
WHERE CONCAT(',', id, ',') LIKE '%,4,%';

আউটপুট

+-------+------------+
| id    | first_name |
+-------+------------+
| 4,5,6 | Adam       |
| 3,4,9 | Bob        |
+-------+------------+

ব্যাখ্যা: CONCAT(',', id, ',') দিয়ে স্ট্রিংয়ের শুরু ও শেষে কমা যোগ করা হয়েছে। তারপর LIKE '%,4,%' দিয়ে ,4, প্যাটার্ন খুঁজা হয়েছে। এতে পার্শিয়াল ম্যাচ (যেমন ১৪, ৪০) এড়ানো যায়।

বিকল্প: MySQL-এ FIND_IN_SET('4', id) ফাংশনও ব্যবহার করা যায়, যা কমা-সেপারেটেড স্ট্রিংয়ের জন্য বিল্ট-ইন।

  1. MySQL SELECT কোয়েরি নির্দিষ্ট মাস ও বছরের রেকর্ড রিটার্ন করার জন্য

  2. MySQL-এ information_schema.columns ব্যবহার করে দুটি নির্দিষ্ট কলামযুক্ত টেবিল খুঁজে বের করা

  3. MySQL-এ REGEXP ব্যবহার করে নির্দিষ্ট সংখ্যক শব্দ থাকা রেকর্ড ফিল্টার করুন

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