ไวยากรณ์ DATE_ADD
ฟังก์ชัน DATE_ADD() ใช้เพิ่มช่วงเวลา (Interval) ให้กับวันที่/เวลา:
DATE_ADD(date_value, INTERVAL expr unit)
เพิ่ม 1 วัน
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS tomorrow_datetime;
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date;
ตัวอย่างการใช้งาน
เพิ่ม 1 วันจากเวลาปัจจุบัน
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS Adding1DayDemo;
+---------------------+
| Adding1DayDemo |
+---------------------+
| 2018-12-07 20:06:59 |
+---------------------+
เพิ่ม 1 วันจากวันที่ปัจจุบัน (ไม่มีเวลา)
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS Adding1DayDemo;
+----------------+
| Adding1DayDemo |
+----------------+
| 2018-12-07 |
+----------------+
ใช้กับคอลัมน์ในตาราง
CREATE TABLE AddOneday (DueTime DATETIME);
INSERT INTO AddOneday VALUES (NOW()), (CURDATE());
ข้อมูลต้นฉบับ
+---------------------+
| DueTime |
+---------------------+
| 2018-12-06 20:10:47 |
| 2018-12-06 00:00:00 |
+---------------------+
คำสั่งเพิ่ม 1 วัน
SELECT DATE_ADD(DueTime, INTERVAL 1 DAY) AS AddingOneDay
FROM AddOneday;
ผลลัพธ์
+---------------------+
| AddingOneDay |
+---------------------+
| 2018-12-07 20:10:47 |
| 2018-12-07 00:00:00 |
+---------------------+
หน่วย INTERVAL ที่รองรับ
| Unit | ตัวอย่าง |
|---|---|
| MICROSECOND | INTERVAL 500000 MICROSECOND |
| SECOND | INTERVAL 30 SECOND |
| MINUTE | INTERVAL 30 MINUTE |
| HOUR | INTERVAL 2 HOUR |
| DAY | INTERVAL 1 DAY |
| WEEK | INTERVAL 1 WEEK |
| MONTH | INTERVAL 1 MONTH |
| QUARTER | INTERVAL 1 QUARTER |
| YEAR | INTERVAL 1 YEAR |
ลบวัน (ใช้ INTERVAL ติดลบ)
DATE_ADD(NOW(), INTERVAL -1 DAY) -- วานนี้
DATE_SUB(NOW(), INTERVAL 1 DAY) -- ทางเลือกอื่น