MySQL-এ LIKE ক্লজে ইউজার ভেরিয়েবল ব্যবহার করতে CONCAT() ফাংশন প্রয়োজন। সিনট্যাক্স:
SET @anyVariableName = 'anyValue';
SELECT yourColumnName1, yourColumnName2, ... FROM yourTableName WHERE yourColumnName LIKE CONCAT('%', @anyVariableName, '%');
উদাহরণের জন্য টেবিল তৈরি করি:
mysql> CREATE TABLE UserVariableInLike (
-> id INT,
-> Name VARCHAR(100),
-> Age INT
-> );
রেকর্ড যোগ করি:
mysql> INSERT INTO UserVariableInLike VALUES(101, 'John', 23); mysql> INSERT INTO UserVariableInLike VALUES(102, 'John Smith', 24); mysql> INSERT INTO UserVariableInLike VALUES(103, 'Carol Smith', 23); mysql> INSERT INTO UserVariableInLike VALUES(104, 'Johnson', 25); mysql> INSERT INTO UserVariableInLike VALUES(105, 'Adam Smith', 26);
সব রেকর্ড দেখুন:
mysql> SELECT * FROM UserVariableInLike;
আউটপুট:
+------+-------------+------+ | id | Name | Age | +------+-------------+------+ | 101 | John | 23 | | 102 | John Smith | 24 | | 103 | Carol Smith | 23 | | 104 | Johnson | 25 | | 105 | Adam Smith | 26 | +------+-------------+------+
ইউজার ভেরিয়েবল দিয়ে LIKE কুয়েরি:
mysql> SET @searchName = 'John';
mysql> SELECT id, Name, Age FROM UserVariableInLike WHERE Name LIKE CONCAT('%', @searchName, '%');
ফলাফল:
+------+------------+------+ | id | Name | Age | +------+------------+------+ | 101 | John | 23 | | 102 | John Smith | 24 | | 104 | Johnson | 25 | +------+------------+------+