ใช้ DATE_ADD() เพิ่มวัน/เวลาเข้ากับวันที่
ฟังก์ชัน DATE_ADD() รองรับการบวกช่วงเวลาต่างๆ เข้ากับ DATE/DATETIME
รูปแบบคำสั่ง
DATE_ADD(date, INTERVAL expr unit)
unit สามารถเป็น: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR
ตัวอย่าง: ใช้ NOW() และ CURDATE()
mysql> CREATE TABLE addingDaysDemo (
-> yourDateTime DATETIME
-> );
Query OK, 0 rows affected (1.09 sec)
-- ใช้ NOW() (มีเวลา)
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(NOW(), INTERVAL 1 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(NOW(), INTERVAL 4 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(NOW(), INTERVAL 5 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(NOW(), INTERVAL 7 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(NOW(), INTERVAL 9 DAY));
-- ใช้ CURDATE() (แค่วันที่ เวลาเป็น 00:00:00)
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(CURDATE(), INTERVAL 1 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(CURDATE(), INTERVAL 4 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(CURDATE(), INTERVAL 5 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(CURDATE(), INTERVAL 7 DAY));
mysql> INSERT INTO addingDaysDemo VALUES(DATE_ADD(CURDATE(), INTERVAL 9 DAY));
ผลลัพธ์
mysql> SELECT * FROM addingDaysDemo;
+---------------------+ | yourDateTime | +---------------------+ | 2018-12-14 15:36:57 | -- NOW() + 1 day | 2018-12-17 15:37:06 | -- NOW() + 4 day | 2018-12-18 15:37:12 | -- NOW() + 5 day | 2018-12-20 15:37:17 | -- NOW() + 7 day | 2018-12-22 15:37:21 | -- NOW() + 9 day | 2018-12-14 00:00:00 | -- CURDATE() + 1 day | 2018-12-17 00:00:00 | -- CURDATE() + 4 day | 2018-12-18 00:00:00 | -- CURDATE() + 5 day | 2018-12-20 00:00:00 | -- CURDATE() + 7 day | 2018-12-22 00:00:00 | -- CURDATE() + 9 day +---------------------+ 10 rows in set (0.00 sec)
ฟังก์ชันเกี่ยวข้อง:
DATE_SUB(date, INTERVAL expr unit)- ลบช่วงเวลาADDDATE(date, INTERVAL expr unit)- synonym ของ DATE_ADDSUBDATE(date, INTERVAL expr unit)- synonym ของ DATE_SUBdate + INTERVAL n DAY- shorthand syntax
ตัวอย่าง shorthand:
SELECT CURDATE() + INTERVAL 7 DAY; SELECT NOW() + INTERVAL 3 HOUR;