Vấn đề
Tìm các hàng mà cột Name chứa chuỗi "Joh" (ví dụ: "John", "Johnson") hoặc ngược lại chuỗi "Joh" chứa giá trị của cột.
1. Tạo bảng
mysql> create table DemoTable (
Name varchar(40)
);
Query OK, 0 rows affected (0.56 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable values('John');
mysql> insert into DemoTable values('Adam');
mysql> insert into DemoTable values('Bob');
mysql> insert into DemoTable values('Johnson');
mysql> insert into DemoTable values('David');
3. Xem dữ liệu
mysql> select * from DemoTable;
+---------+ | Name | +---------+ | John | | Adam | | Bob | | Johnson | | David | +---------+ 5 rows in set (0.00 sec)
4. Truy vấn tìm hai chiều
mysql> select * from DemoTable
where Name like '%Joh%' OR 'Joh' LIKE CONCAT('%', Name, '%');
Kết quả:
+---------+ | Name | +---------+ | John | | Johnson | +---------+ 2 rows in set (0.00 sec)
Giải thích: Điều kiện đầu tìm "Joh" trong Name, điều kiện sau tìm Name trong "Joh" (để bắt các trường hợp Name ngắn hơn).