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

การบวกวันเข้ากับวันที่ใน MySQL ด้วย DATE_ADD()

ใช้ 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_ADD
  • SUBDATE(date, INTERVAL expr unit) - synonym ของ DATE_SUB
  • date + INTERVAL n DAY - shorthand syntax

ตัวอย่าง shorthand:

SELECT CURDATE() + INTERVAL 7 DAY;
SELECT NOW() + INTERVAL 3 HOUR;