Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: กรองข้อมูลตามวันที่ปัจจุบัน (Current Date) ด้วย CURDATE()


กรองข้อมูลตามวันที่ปัจจุบัน ใช้ CURDATE() ร่วมกับ DATE() และ TIME()

ตัวอย่าง

mysql> CREATE TABLE DemoTable (DueDate DATETIME);
mysql> INSERT INTO DemoTable VALUES
    -> ('2019-07-10 04:20:00'), ('2019-07-10 05:10:40'), ('2019-07-10 09:00:20'),
    -> ('2019-07-10 10:01:04'), ('2019-07-10 12:11:10');

ข้อมูล (ทุกแถวเป็นวันที่ 2019-07-10)

+---------------------+
| DueDate             |
+---------------------+
| 2019-07-10 04:20:00 |
| 2019-07-10 05:10:40 |
| 2019-07-10 09:00:20 |
| 2019-07-10 10:01:04 |
| 2019-07-10 12:11:10 |
+---------------------+

Query: กรองวันที่ = วันนี้ AND เวลา 04:00-10:00

mysql> SELECT * FROM DemoTable
    -> WHERE DATE(DueDate) = CURDATE()
    ->   AND TIME(DueDate) > '04:00:00'
    ->   AND TIME(DueDate) < '10:00:00';

ผลลัพธ์ (3 แถว: 04:20, 05:10, 09:00)

+---------------------+
| DueDate             |
+---------------------+
| 2019-07-10 04:20:00 |
| 2019-07-10 05:10:40 |
| 2019-07-10 09:00:20 |
+---------------------+