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

ลบ 10 วัน จาก Datetime ปัจจุบันใน MySQL (DATE_SUB)

ใช้ 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