Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách sử dụng biến người dùng trong mệnh đề LIKE của MySQL

Sử dụng hàm CONCAT() để làm việc với biến người dùng (user variable) trong mệnh đề LIKE. Cú pháp:

SET @tenBien = 'giaTri';
SELECT cot1, cot2, ... FROM ten_bang WHERE ten_cot LIKE CONCAT('%', @tenBien, '%');

Ví dụ: tạo bảng UserVariableInLike:

mysql> CREATE TABLE UserVariableInLike (
    -> id INT,
    -> Name VARCHAR(100),
    -> Age INT
    -> );

Chèn dữ liệu:

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);

Dữ liệu gốc:

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   |
+------+-------------+------+

Sử dụng biến trong LIKE:

mysql> SET @searchName = 'John';
mysql> SELECT id, Name, Age FROM UserVariableInLike WHERE Name LIKE CONCAT('%', @searchName, '%');

Kết quả (tìm các tên chứa 'John'):

+------+------------+------+
| id   | Name       | Age  |
+------+------------+------+
| 101  | John       | 23   |
| 102  | John Smith | 24   |
| 104  | Johnson    | 25   |
+------+------------+------+