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

Khớp mẫu (pattern matching) 3 hoặc nhiều chữ 'a' trong tên quốc gia MySQL

Cú pháp LIKE

SELECT * FROM yourTableName WHERE yourColumnName LIKE '%a%a%a%';

Tạo bảng và dữ liệu

mysql> CREATE TABLE DemoTable1393 (CountryName VARCHAR(40));
INSERT INTO DemoTable1393 VALUES('andorra'),('australia'),('argentina'),('austria');

Dữ liệu

mysql> SELECT * FROM DemoTable1393;
+-------------+
| CountryName |
+-------------+
| andorra     |
| australia   |
| argentina   |
| austria     |
+-------------+

Truy vấn: LIKE '%a%a%a%'

mysql> SELECT * FROM DemoTable1393 WHERE CountryName LIKE '%a%a%a%';

Kết quả: Chỉ 'australia' có 3 chữ 'a'

+-------------+
| CountryName |
+-------------+
| australia   |
+-------------+

Giải thích: Mỗi %a% yêu cầu có ít nhất một 'a'. Ba lần %a% yêu cầu ít nhất 3 'a' (có thể không liên tiếp). Để tìm 3 'a' liên tiếp: LIKE '%aaa%'. Để không phân biệt hoa/thường: LOWER(CountryName) LIKE ... hoặc dùng collation case-insensitive.