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

MySQL-এ একাধিক কলাম কনক্যাট করে LIKE ম্যাচিং করা

MySQL-এ একাধিক কলামের মান একসাথে জোড়া দিয়ে (concatenate) LIKE অপারেটর দিয়ে ম্যাচিং করতে CONCAT() ফাংশন ব্যবহার করা হয়।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Value1 VARCHAR(10),
    -> Value2 VARCHAR(10)
    -> );
mysql> INSERT INTO DemoTable(Value1, Value2) VALUES('10', '345');
mysql> INSERT INTO DemoTable(Value1, Value2) VALUES('14', '789');
mysql> INSERT INTO DemoTable(Value1, Value2) VALUES('18', '234');

সব রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable;
+----+--------+--------+
| Id | Value1 | Value2 |
+----+--------+--------+
|  1 | 10     | 345    |
|  2 | 14     | 789    |
|  3 | 18     | 234    |
+----+--------+--------+

Value1 এবং Value2 কনক্যাট করে '147' খুঁজে বের করা

mysql> SELECT * FROM DemoTable 
    -> WHERE CONCAT(Value1, Value2) LIKE '%147%';

ফলাফল

+----+--------+--------+
| Id | Value1 | Value2 |
+----+--------+--------+
|  2 | 14     | 789    |
+----+--------+--------+

ব্যাখ্যা: Id=2 রোতে Value1='14' এবং Value2='789'। কনক্যাট করলে '14789' হয়, যেটিতে '147' সাবস্ট্রিং আছে।

সতর্কতা: বড় টেবিলে এই পদ্ধতিতে ইনডেক্স ব্যবহার হয় না (full table scan), তাই পারফরম্যান্স কম হতে পারে।

  1. MySQL-এ GREATEST() দিয়ে একাধিক কলাম একসাথে সর্ট করা

  2. MySQL-এ UNION ALL ব্যবহার করে কলামগুলোকে রোয়ে রূপান্তর করা

  3. MySQL-এ একসাথে দুটি কলাম আপডেট করা (সিঙ্গল কোয়েরি)

  4. MySQL-এ LIKE কোয়েরি ও LIMIT ব্যবহার করে ডাইনামিক অ্যারে সার্চ করা