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

MySQL BETWEEN loại trừ cả đầu và cuối (exclusive)

BETWEEN mặc định bao gồm cả hai đầu (inclusive). Để loại trừ cả giá trị đầu và cuối, thêm AND cot NOT IN (gia_tri_dau, gia_tri_cuoi).

Cú pháp

SELECT * 
FROM ten_bang 
WHERE cot BETWEEN gia_tri_dau AND gia_tri_cuoi
  AND cot NOT IN (gia_tri_dau, gia_tri_cuoi);

Ví dụ minh họa

Bảng BetweenWithoutEndPoints có Id 1..9.

Lấy Id từ 3 đến 8 **không bao gồm** 3 và 8:

SELECT * 
FROM BetweenWithoutEndPoints 
WHERE Id BETWEEN 3 AND 8 
  AND Id NOT IN (3, 8);

Kết quả: Id 4,5,6,7

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
|  4 | Sam   |   26 |
|  5 | Carol |   21 |
|  6 | John  |   29 |
|  7 | James |   20 |
+----+-------+------+

Tương đương: WHERE cot > gia_tri_dau AND cot < gia_tri_cuoi (ngắn gọn hơn, dùng index tốt hơn).