ใช้ฟังก์ชัน DATE_ADD() หรือ INTERVAL เพื่อคำนวณวันที่บวก/ลบ แล้วแสดงเป็นคอลัมน์เพิ่มเติม
ตัวอย่างการใช้งาน
สร้างตารางวันครบกำหนด:
mysql> create table DemoTable1930 (DueTime datetime);
เพิ่มข้อมูล:
mysql> insert into DemoTable1930 values('2017-10-21'),('2019-12-14'),('2018-11-26'),('2014-06-16');
ดูข้อมูล:
mysql> select * from DemoTable1930;
+---------------------+ | DueTime | +---------------------+ | 2017-10-21 00:00:00 | | 2019-12-14 00:00:00 | | 2018-11-26 00:00:00 | | 2014-06-16 00:00:00 | +---------------------+ 4 rows in set (0.00 sec)
คิวรีเพิ่ม 45 วัน แสดงคอลัมน์เดิมและคอลัมน์ใหม่
mysql> select DueTime, date_add(DueTime, interval 45 day) as ManyDays from DemoTable1930;
ผลลัพธ์:
+---------------------+---------------------+ | DueTime | ManyDays | +---------------------+---------------------+ | 2017-10-21 00:00:00 | 2017-12-05 00:00:00 | | 2019-12-14 00:00:00 | 2020-01-28 00:00:00 | | 2018-11-26 00:00:00 | 2019-01-10 00:00:00 | | 2014-06-16 00:00:00 | 2014-07-31 00:00:00 | +---------------------+---------------------+ 4 rows in set (0.00 sec)
รูปแบบการใช้งาน INTERVAL
| หน่วย | ตัวอย่าง |
|---|---|
| DAY | INTERVAL 45 DAY |
| MONTH | INTERVAL 3 MONTH |
| YEAR | INTERVAL 1 YEAR |
| HOUR/MINUTE/SECOND | INTERVAL 2 HOUR |
| ผสม | INTERVAL '1 12' DAY_HOUR |
คำสั่งเทียบเท่า
-- ใช้ + กับ INTERVAL (สั้นกว่า) SELECT DueTime, DueTime + INTERVAL 45 DAY as ManyDays FROM DemoTable1930; -- ลบวัน SELECT DueTime, DueTime - INTERVAL 30 DAY as BeforeDate FROM DemoTable1930;