Điều kiện GIỮA MySQL được sử dụng để truy xuất các giá trị trong một phạm vi trong câu lệnh CHỌN, CHÈN, CẬP NHẬT hoặc XÓA
cú pháp
Cú pháp của Điều kiện GIỮA trong MySQL là
expression BETWEEN value1 AND value2;
Tham số hoặc Đối số
cột biểu thức hoặc phép tính. value1 và value2Những giá trị này tạo ra một phạm vi bao hàm mà biểu thức được so sánh vớiGhi chú
- Điều kiện GIỮA MySQL sẽ trả về các bản ghi có biểu thức nằm trong phạm vi giá trị 1 và giá trị 2 [bao gồm]
- Khi sử dụng Điều kiện GIỮA MySQL với ngày tháng, hãy đảm bảo sử dụng hàm CAST để chuyển đổi rõ ràng các giá trị thành ngày tháng
Ví dụ - Với Số
Hãy xem xét một số ví dụ về điều kiện GIỮA MySQL bằng cách sử dụng các giá trị số. Ví dụ số sau đây sử dụng điều kiện GIỮA để truy xuất các giá trị trong một phạm vi số
Ví dụ
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;
Ví dụ MySQL GIỮA này sẽ trả về tất cả các hàng từ bảng nhà cung cấp trong đó nhà cung cấp KHÔNG nằm trong khoảng từ năm 2000 đến 2999, bao gồm cả. Nó sẽ tương đương với câu lệnh SELECT sau
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn qua kiểu dữ liệu ngày của MySQL và chỉ cho bạn cách bạn có thể lọc từ một phạm vi ngày.
Khái niệm cơ bản
Ngày trong MySQL là kiểu dữ liệu lưu trữ các giá trị ngày ở dạng YYYY-MM-DD. Loại ngày sử dụng 3 byte để lưu trữ bản ghi ngày. Loại ngày của MySQL nằm trong khoảng từ 1000-01-0 đến 9999-12-21
MySQL được đóng gói với rất nhiều chức năng để tạo và thao tác các giá trị ngày. Tuy nhiên, do phạm vi của hướng dẫn, chúng tôi sẽ không đi sâu vào chúng. Xem tài liệu để tìm hiểu thêm
Hãy để chúng tôi lấy một ví dụ đơn giản để chỉ ra cách lưu trữ các giá trị ngày trong MySQL. Hãy xem xét các truy vấn sau
TẠO CƠ SỞ DỮ LIỆU NẾU KHÔNG TỒN TẠI date_db
SỬ DỤNG date_db;
TẠO BẢNG date_records[
id INT AUTO_INCREMENT PRIMARY KEY
timetable DATE NOT NULL
];
INSERT INTO date_records[timetable]
VALUES['2021-06-06'],
['2020-01-20'],
['2030-03-03'];
Bây giờ chúng ta có thể chọn các giá trị từ bảng như
chọn * từ date_records;
+----+-----------+
. Tôi. thời gian biểu.
+-----+------------+
. 1. 2021-06-06.
. 2. 2020-01-20.
. 3. 2030-03-03.
+-----+------------+
3 hàng trong tập hợp [0. 00 giây]
Bạn có thể sử dụng các hàm MySQL để thêm nhiều giá trị ngày hơn vào bảng
Làm cách nào để lọc phạm vi ngày?
Bây giờ chúng ta hãy bắt tay vào chủ đề. “Làm cách nào để lọc trong phạm vi ngày?”
MySQL thông minh và rất trực quan. Bạn có thể sử dụng các toán tử so sánh thông thường để lọc dữ liệu trong một phạm vi ngày cụ thể
Hãy để chúng tôi lấy cơ sở dữ liệu mẫu sakila có sẵn trong tài nguyên được cung cấp bên dưới
https. // nhà phát triển. mysql. com/doc/index-khác. html
Trong bảng thanh toán, chúng tôi có thể lọc các ngày thanh toán nằm trong khoảng thời gian cụ thể
Ví dụ: để lọc các khoản thanh toán nằm trong khoảng “2005-05-25 11. 30. 37” và “2005-07-30 19. 23. 44”, chúng ta có thể sử dụng truy vấn bên dưới
CHỌN payment_id, customer_id, Rent_id
TỪ thanh toán
WHERE payment_date GIỮA '25-05-2005 11. 30. 37' VÀ '2005-07-30 19. 23. 44' GIỚI HẠN 10;
Ví dụ trên sẽ trả về các cột có giá trị nằm trong khoảng thời gian đã chỉ định
Một ví dụ khác là lọc các giá trị cho đến một ngày cụ thể. Trong trường hợp này, chúng ta có thể sử dụng toán tử nhỏ hơn hoặc bằng như
CHỌN thanh toán_id, khách hàng_id, thuê_id
TỪ khoản thanh toán
NƠI ngày thanh toán
Trong ví dụ trên, truy vấn trả về tất cả các giá trị trong phạm vi “2005-05-25 11. 30. 37” trở xuống
Tóm lược
MySQL cho phép bạn sử dụng các toán tử so sánh để lọc phạm vi ngày giống như cách bạn làm với các loại khác, chẳng hạn như số nguyên
Nếu bạn cần chọn các hàng từ bảng của cơ sở dữ liệu MySQL trong một phạm vi ngày, bạn cần sử dụng một lệnh như thế này
SELECT * FROM table WHERE date_column >= '2014-01-01' AND date_column = '2014-01-01' AND date_column