ใช้เงื่อนไข >= และ < สำหรับช่วงวันที่ Timestamp รูปแบบ:
SELECT * FROM yourTableName
WHERE yourDateTimeField >= 'startDate' AND yourDateTimeField < 'endDate';
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล:
mysql> CREATE TABLE DateRange (DueTime TIMESTAMP);
mysql> INSERT INTO DateRange VALUES ('2016-11-13'), ('2016-10-14'), ('2017-01-23'), ('2017-05-14'), ('2017-08-25'), ('2018-09-28'), ('2018-11-17'), ('2018-12-13'), ('2018-12-16');
คิวรีช่วง 2017-05-14 ถึง 2018-12-16
mysql> SELECT * FROM DateRange
-> WHERE DueTime >= '2017-05-14' AND DueTime < '2018-12-17';
ผลลัพธ์ (6 เรคคอร์ด):
+---------------------+
| DueTime |
+---------------------+
| 2017-05-14 00:00:00 |
| 2017-08-25 00:00:00 |
| 2018-09-28 00:00:00 |
| 2018-11-17 00:00:00 |
| 2018-12-13 00:00:00 |
| 2018-12-16 00:00:00 |
+---------------------+
กรณีเป็น Unix Timestamp
SELECT * FROM yourTableName
WHERE yourColumnName >= UNIX_TIMESTAMP('startDate')
AND yourColumnName < UNIX_TIMESTAMP('endDate');
หมายเหตุ: ใช้ < สำหรับวันที่สิ้นสุด (ไม่รวมวันนั้น) เพื่อป้องกันปัญหาเวลา 00:00:00 และรองรับ Index ได้ดีกว่า BETWEEN