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

ตรวจสอบวันหมดอายุใน MySQL ด้วย NOW()

เปรียบเทียบคอลัมน์วันที่กับ NOW() เพื่อหารายการที่ยังไม่หมดอายุ

ตัวอย่าง

mysql> create table DemoTable (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    expiryDateOfMedicine datetime
);
Query OK, 0 rows affected (0.55 sec)
mysql> insert into DemoTable(expiryDateOfMedicine) values('2019-04-27 11:29:00'); Query OK, 1 row affected (0.36 sec)
mysql> insert into DemoTable(expiryDateOfMedicine) values('2019-04-26 10:39:21'); Query OK, 1 row affected (0.41 sec)
mysql> insert into DemoTable(expiryDateOfMedicine) values('2019-04-28 11:30:10'); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(expiryDateOfMedicine) values('2019-04-29 12:44:11'); Query OK, 1 row affected (0.18 sec)

ข้อมูล

mysql> select * from DemoTable;
+----+----------------------+
| Id | expiryDateOfMedicine |
+----+----------------------+
| 1  | 2019-04-27 11:29:00  |
| 2  | 2019-04-26 10:39:21  |
| 3  | 2019-04-28 11:30:10  |
| 4  | 2019-04-29 12:44:11  |
+----+----------------------+

คิวรี่หายาไม่หมดอายุ (สมมติวันนี้ 2019-04-27)

mysql> select * from DemoTable where expiryDateOfMedicine > now();
+----+----------------------+
| Id | expiryDateOfMedicine |
+----+----------------------+
| 3  | 2019-04-28 11:30:10  |
| 4  | 2019-04-29 12:44:11  |
+----+----------------------+

ใช้ CURDATE() แทน NOW() หากคอลัมน์เป็น DATE อย่างเดียว