ใช้ DATE_SUB(NOW(), INTERVAL 10 DAY) ลบวันจากวันที่/เวลาปัจจุบัน
ดูเวลาปัจจุบัน
mysql> SELECT NOW();
+---------------------+ | NOW() | +---------------------+ | 2018-11-01 19:55:56 | +---------------------+
ลบ 10 วัน
mysql> SELECT DATE_SUB(NOW(), INTERVAL 10 DAY);
+---------------------------------+ | DATE_SUB(NOW(), INTERVAL 10 DAY) | +---------------------------------+ | 2018-10-22 19:56:07 | +---------------------------------+
รูปแบบอื่นๆ
| ต้องการ | Query |
|---|---|
| ลบ 5 ชั่วโมง | DATE_SUB(NOW(), INTERVAL 5 HOUR) |
| ลบ 30 นาที | DATE_SUB(NOW(), INTERVAL 30 MINUTE) |
| ลบ 1 เดือน | DATE_SUB(NOW(), INTERVAL 1 MONTH) |
| ลบ 1 ปี | DATE_SUB(NOW(), INTERVAL 1 YEAR) |
| บวก 10 วัน | DATE_ADD(NOW(), INTERVAL 10 DAY) |
ใช้กับ Column
SELECT DATE_SUB(created_at, INTERVAL 7 DAY) FROM orders WHERE id = 1;
หมายเหตุ: DATE_ADD/DATE_SUB ทำงานกับ DATE, DATETIME, TIMESTAMP คืนค่า Type เดียวกับ Input Time Zone ตาม @@session.time_zone