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

MySQL: REGEXP khớp số nguyên từ 6 đến 10

Có 2 cách để lọc số nguyên trong khoảng 6-10: dùng BETWEEN (đơn giản) hoặc REGEXP (biểu thức chính quy).

Cách 1: BETWEEN (khuyên dùng cho số)

SELECT * FROM ten_bang WHERE ten_cot BETWEEN 6 AND 10;

Cách 2: REGEXP

SELECT * FROM ten_bang WHERE ten_cot REGEXP '10|[6-9]';

Pattern '10|[6-9]' nghĩa là: khớp "10" HOẶC bất kỳ ký tự nào trong tập [6-9].

Ví dụ minh họa

Tạo bảng và chèn số 1-10:

mysql> CREATE TABLE RegexDemo (Id INT);
mysql> INSERT INTO RegexDemo VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);

Kết quả BETWEEN

mysql> SELECT * FROM RegexDemo WHERE Id BETWEEN 6 AND 10;
+------+
| Id   |
+------+
| 6    |
| 7    |
| 8    |
| 9    |
| 10   |
+------+

Kết quả REGEXP

mysql> SELECT * FROM RegexDemo WHERE Id REGEXP '10|[6-9]';
+------+
| Id   |
+------+
| 6    |
| 7    |
| 8    |
| 9    |
| 10   |
+------+

So sánh: BETWEEN hiệu quả hơn cho số (sử dụng index). REGEXP hữu ích khi pattern phức tạp (vd: số có 2 chữ số, số chẵn, v.v.).