IN অপারেটর কমা-সেপারেটেড স্ট্রিং সরাসরি গ্রহণ করে না। এর জন্য FIND_IN_SET() ফাংশন ব্যবহার করতে হয়।
উদাহরণ:
টেবিল তৈরি:
CREATE TABLE DemoTable604 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(100)
);
রেকর্ড যোগ করা:
INSERT INTO DemoTable604(Title) VALUES('MySQL'), ('C++'), ('MongoDB'), ('Java');
সব রেকর্ড দেখানো:
SELECT * FROM DemoTable604;
আউটপুট:
+----+---------+ | Id | Title | +----+---------+ | 1 | MySQL | | 2 | C++ | | 3 | MongoDB | | 4 | Java |
FIND_IN_SET ব্যবহার:
SELECT * FROM DemoTable604 WHERE FIND_IN_SET(Title, 'C++,MongoDB');
ফলাফল:
+----+---------+ | Id | Title | +----+---------+ | 2 | C++ | | 3 | MongoDB | +----+---------+
ব্যাখ্যা: FIND_IN_SET(str, strlist) — strlist-এ str খুঁজে পেলে পজিশন (১-বেসড) রিটার্ন করে, না পেলে ০। WHERE ক্লজে ০ = FALSE, >০ = TRUE হয়। দ্রষ্টব্য: FIND_IN_SET ইনডেক্স ব্যবহার করে না, বড় টেবিলে স্লো হতে পারে। বিকল্প: টেম্পরারি টেবিল বা JSON_CONTAINS (MySQL ৫.৭+)।