MySQL-এ CONCAT() এবং LIKE ব্যবহার করে সাবস্ট্রিং সার্চ
MySQL-এ CONCAT() ফাংশন ব্যবহার করে ডাইনামিকভাবে প্যাটার্ন তৈরি করে LIKE অপারেটরের সাথে ব্যবহার করা যায়। এটি প্রোগ্রাম্যাটিক্যালি সার্চ টার্ম তৈরি করার জন্য উপকারী।
উদাহরণ
টেবিল তৈরি:
CREATE TABLE DemoTable (Value TEXT);
INSERT INTO DemoTable VALUES ('MySQL'), ('Is'), ('Relational'), ('Database');
'Relational' শব্দটি কোন রোয়ে আছে খোঁজা
SELECT Value FROM DemoTable
WHERE 'Relational' LIKE CONCAT('%', Value, '%');
আউটপুট:
+------------+
| Value |
+------------+
| Relational |
+------------+
ব্যাখ্যা
CONCAT('%', Value, '%')প্রতিটি রোয়ের জন্য%Value%প্যাটার্ন তৈরি করে।'Relational' LIKE '%Relational%'→ true।'Relational' LIKE '%MySQL%'→ false।
সাধারণ সার্চ প্যাটার্ন (ув קולামে সার্চ)
-- কলামে 'word' শব্দ আছে কিনা
SELECT * FROM table WHERE column LIKE '%word%';
-- কেস-ইনসেনসিটিভ (ডিফল্ট কোলেশন-এ)
SELECT * FROM table WHERE column LIKE '%word%' COLLATE utf8mb4_general_ci;
পারফরম্যান্স নোট: লিডিং % থাকলে ইন্ডেক্স ব্যবহার হয় না। ফুলটেক্সট সার্চ (MATCH() AGAINST()) বড় টেক্সটের জন্য ভালো।