Cú pháp
SELECT * FROM yourTableName
WHERE yourColumnName BETWEEN yourDateValue1 AND yourDateValue2;
Tạo bảng nhân viên
mysql> CREATE TABLE DemoTable1422 (
-> EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> EmployeeName VARCHAR(20),
-> EmployeeJoiningDate DATE
-> );
INSERT INTO DemoTable1422(EmployeeName, EmployeeJoiningDate) VALUES
('John','2017-09-28'),('Chris','2019-09-29'),('Bob','2018-01-31'),('Sam','2018-12-21'),('Mike','2019-11-10');
Dữ liệu
mysql> SELECT * FROM DemoTable1422;
+------------+--------------+---------------------+
| EmployeeId | EmployeeName | EmployeeJoiningDate |
+------------+--------------+---------------------+
| 1 | John | 2017-09-28 |
| 2 | Chris | 2019-09-29 |
| 3 | Bob | 2018-01-31 |
| 4 | Sam | 2018-12-21 |
| 5 | Mike | 2019-11-10 |
+------------+--------------+---------------------+
Truy vấn: BETWEEN '2018-09-29' AND '2019-09-29'
mysql> SELECT * FROM DemoTable1422
-> WHERE EmployeeJoiningDate BETWEEN '2018-09-29' AND '2019-09-29';
Kết quả: 2 hàng (Chris, Sam)
+------------+--------------+---------------------+
| EmployeeId | EmployeeName | EmployeeJoiningDate |
+------------+--------------+---------------------+
| 2 | Chris | 2019-09-29 |
| 4 | Sam | 2018-12-21 |
+------------+--------------+---------------------+
Lưu ý: BETWEEN bao gồm cả hai giá trị đầu và cuối. Với DATETIME, ngày kết thúc '2019-09-29' nghĩa là '2019-09-29 00:00:00', nên các giờ trong ngày đó không khớp. Khắc phục: dùng BETWEEN '2018-09-29' AND '2019-09-29 23:59:59' hoặc WHERE date_col >= '2018-09-29' AND date_col < '2019-09-30'.