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

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

MySQL-এ কমা-সেপারেটেড স্ট্রিং কলাম থেকে নির্দিষ্ট মান খোঁজার জন্য FIND_IN_SET() ফাংশন ব্যবহার করা হয়। এটি সেট-বেসড সার্চের জন্য অপ্টিমাইজড।

টেবিল এবং ডেটা

CREATE TABLE DemoTable (
    ListOfValue VARCHAR(20)
);

INSERT INTO DemoTable VALUES('78,89,65');
INSERT INTO DemoTable VALUES('88,96,97');
INSERT INTO DemoTable VALUES('95,96,99,100');
INSERT INTO DemoTable VALUES('78,45,67,98');

কুয়েরি: ৮৯ বা ৯৯ থাকা রো বের করা

SELECT * FROM DemoTable 
WHERE FIND_IN_SET('89', ListOfValue) 
   OR FIND_IN_SET('99', ListOfValue);

ফলাফল

+--------------+
| ListOfValue  |
+--------------+
| 78,89,65     |
| 95,96,99,100 |
+--------------+

FIND_IN_SET সিনট্যাক্স

FIND_IN_SET(str, strlist)
  • str — খুঁজতে চাওয়া মান
  • strlist — কমা-সেপারেটেড স্ট্রিং
  • রিটার্ন: পজিশন (১-ভিত্তিক), না পাওয়া গেলে ০

সতর্কতা

  • স্পেস থাকলে কাজ করে না: '78, 89, 65' — এখানে '89' পাবে না
  • ইন্ডেক্স ব্যবহার করে না, বড় টেবিলে ধীর হয়
  • নরমালাইজড ডিজাইন (অলগ টেবিল) ভালো সমাধান

বিকল্প: JSONContains (MySQL 5.7+)

WHERE JSON_CONTAINS(JSON_ARRAY(78,89,65), '89')
  1. MySQL-এ নির্দিষ্ট কলাম নামে টেবিল খুঁজে বের করা

  2. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

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

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