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

Kiểm tra xem chuỗi trong cột có chứa chuỗi con cụ thể trong MySQL

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