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

MySQL-এ FIND_IN_SET() দিয়ে কমা-বিভক্ত কলাম থেকে IN()-এর মতো ফিল্টার করা

সমস্যা

IN() কমা-বিভক্ত স্ট্রিং কলামের সাথে কাজ করে না। FIND_IN_SET() এই কাজের জন্য তৈরি।

সারণি ও ডেটা

mysql> create table DemoTable1423 (CountryName varchar(100));
mysql> insert into DemoTable1423 values('AUS,UK'),('US'),('AUS,UK,US');

কোয়েরি

mysql> select * from DemoTable1423 where find_in_set('US', CountryName);

ফলাফল

+-------------+
| CountryName |
+-------------+
| US          |
| AUS,UK,US   |
+-------------+

ব্যাখ্যা

  • FIND_IN_SET('US', CountryName) — 'US' স্ট্রিংটি CountryName-এ কমা-বিভক্তভাবে আছে কিনা চেক করে
  • প্রথম সারি 'AUS,UK'-এ 'US' নাই, তাই বাদ
  • দ্বিতীয় সারি শুধু 'US', তাই মিলে
  • তৃতীয় সারি 'AUS,UK,US'-এ 'US' আছে, তাই মিলে

সীমাবদ্ধতা: মানগুলোর মধ্যে কমা থাকলে কাজ করবে না। সেক্ষেত্রে JSON বা নর্মালাইজড টেবিল ব্যবহার করুন।

  1. MySQL-এ কমা-সেপারেটেড কলাম থেকে নির্দিষ্ট মান খোঁজা (FIND_IN_SET)

  2. MySQL에서 특정 월 범위(예: 작년 7월~올해 7월) 데이터 조회하기

  3. MySQL-এ কমা-বিন্যাসকৃত মান সহ র‍্যান্ডম সারি আনার পদ্ধতি

  4. MySQL-এ JOIN ব্যবহার করে দুই টেবিল থেকে ডেটা ফেচ করা