CONCAT() + HAVING দিয়ে কনক্যাটেনেটেড স্ট্রিং ফিল্টার
MySQL-এ CONCAT() ফাংশন দিয়ে একাধিক কলাম জোড়া দিয়ে একটি স্ট্রিং বানানো এবং HAVING ক্লজ দিয়ে সেই স্ট্রিংয়ে প্যাটার্ন ম্যাচ করা যায়।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (FirstName VARCHAR(100), CountryName VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES('Adam','US'), ('David','AUS'), ('Chris','UK'), ('John','US'), ('Carol','AUS');
সব রেকর্ড
+-----------+-------------+ | FirstName | CountryName | +-----------+-------------+ | Adam | US | | David | AUS | | Chris | UK | | John | US | | Carol | AUS | +-----------+-------------+
CONCAT + HAVING LIKE
mysql> SELECT CONCAT(FirstName, ' ', CountryName) AS NameWithCountry FROM DemoTable HAVING NameWithCountry LIKE '%John%';
+-----------------+ | NameWithCountry | +-----------------+ | John US | +-----------------+
ব্যাখ্যা
CONCAT(FirstName, ' ', CountryName)— নাম এবং দেশ স্পেস দিয়ে জোড়া দেয়।AS NameWithCountry— এলিয়াস (alias) দিয়ে কলাম নাম দেয়া হয়েছে।HAVING NameWithCountry LIKE '%John%'— কনক্যাটেনেটেড স্ট্রিংয়ে 'John' আছে কিনা চেক করে।
নোট
HAVINGসাধারণতGROUP BY-এর সাথে ব্যবহৃত হয়, কিন্তু MySQL-এGROUP BYছাড়াওHAVINGব্যবহার করা যায় (এক্সটেনশন)।- স্ট্যান্ডার্ড SQL-এ
WHEREদিয়ে একই কাজ করা যায়:WHERE CONCAT(FirstName, ' ', CountryName) LIKE '%John%'।