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

วิธีลบ 30 วันจากวันที่/เวลาปัจจุบันใน MySQL (DATE_SUB)

คำสั่งหลัก: DATE_SUB()

DATE_SUB(NOW(), INTERVAL 30 DAY);

ตัวอย่าง

ดูวันเวลาปัจจุบัน

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2018-11-23 16:38:43 |
+---------------------+

ลบ 30 วัน

mysql> select date_sub(now(), interval 30 day);
+---------------------------------+
| date_sub(now(), interval 30 day) |
+---------------------------------+
| 2018-10-24 16:38:50             |
+---------------------------------+

เฉพาะวันที่ (ไม่ต้องการเวลา)

mysql> select date_sub(curdate(), interval 30 day);
+-------------------------------------+
| date_sub(curdate(), interval 30 day) |
+-------------------------------------+
| 2018-10-24                          |
+-------------------------------------+

วิธีอื่น: ใช้ลบโดยตรง

SELECT NOW() - INTERVAL 30 DAY;
SELECT CURDATE() - INTERVAL 30 DAY;

ให้ผลลัพธ์เท่ากัน DATE_SUB() อ่านง่ายกว่า สำหรับการบวกใช้ DATE_ADD() หรือ + INTERVAL