การบวกเวลา (Interval) ให้กับ DATETIME ด้วย DATE_ADD()
ฟังก์ชัน DATE_ADD(date, INTERVAL expr unit) ใช้บวกช่วงเวลา (นาที, ชั่วโมง, วัน, เดือน, ปี) เข้ากับค่า DATE/DATETIME/TIMESTAMP ได้
ไวยากรณ์ (Syntax)
SELECT DATE_ADD(yourColumnName, INTERVAL 10 MINUTE) FROM yourTableName;
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่ม datetime:
mysql> CREATE TABLE add10MinuteDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> DelayDatetime DATETIME
-> );
Query OK, 0 rows affected (0.83 sec)
mysql> INSERT INTO add10MinuteDemo(DelayDatetime) VALUES('2019-01-23 12:45:56');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO add10MinuteDemo(DelayDatetime) VALUES('2019-03-25 10:30:23');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO add10MinuteDemo(DelayDatetime) VALUES('2019-04-21 04:04:30');
Query OK, 1 row affected (0.19 sec)
ข้อมูลต้นฉบับ:
mysql> SELECT * FROM add10MinuteDemo;
+----+---------------------+
| Id | DelayDatetime |
+----+---------------------+
| 1 | 2019-01-23 12:45:56 |
| 2 | 2019-03-25 10:30:23 |
| 3 | 2019-04-21 04:04:30 |
+----+---------------------+
3 rows in set (0.00 sec)
บวก 10 นาที:
mysql> SELECT DATE_ADD(DelayDatetime, INTERVAL 10 MINUTE) FROM add10MinuteDemo;
+--------------------------------------------+
| DATE_ADD(DelayDatetime, INTERVAL 10 MINUTE) |
+--------------------------------------------+
| 2019-01-23 12:55:56 |
| 2019-03-25 10:40:23 |
| 2019-04-21 04:14:30 |
+--------------------------------------------+
3 rows in set (0.00 sec)
หน่วยเวลา (Unit) ที่ใช้ได้
| Unit | ตัวอย่าง |
|---|---|
| MICROSECOND | INTERVAL 500 MICROSECOND |
| SECOND | INTERVAL 30 SECOND |
| MINUTE | INTERVAL 10 MINUTE |
| HOUR | INTERVAL 2 HOUR |
| DAY | INTERVAL 5 DAY |
| WEEK | INTERVAL 1 WEEK |
| MONTH | INTERVAL 3 MONTH |
| QUARTER | INTERVAL 2 QUARTER |
| YEAR | INTERVAL 1 YEAR |
ฟังก์ชันคู่: DATE_SUB()
-- ลบ 10 นาที
SELECT DATE_SUB(DelayDatetime, INTERVAL 10 MINUTE) FROM add10MinuteDemo;
-- หรือใช้ DATE_ADD กับค่าลบ
SELECT DATE_ADD(DelayDatetime, INTERVAL -10 MINUTE) FROM add10MinuteDemo;
ทั้งสองให้ผลลัพธ์เท่ากัน เลือกใช้ตามความชอบ