ใน MySQL ให้ใช้ DATE_ADD() (ไม่มี DATEADD)
ไวยากรณ์ DATE_ADD()
DATE_ADD(NOW(), INTERVAL yourValue MINUTE);
ใช้ตัวดำเนินการ + แทนได้
NOW() + INTERVAL 30 MINUTE
ตัวอย่าง DATE_ADD()
mysql> SELECT DATE_ADD(NOW(), INTERVAL 30 MINUTE);
ผลลัพธ์:
+-------------------------------------+ | DATE_ADD(NOW(), INTERVAL 30 MINUTE) | +-------------------------------------+ | 2019-02-27 15:38:27 | +-------------------------------------+
ตัวอย่างใช้ตัวดำเนินการ +
mysql> SELECT NOW();
+---------------------+ | NOW() | +---------------------+ | 2019-02-27 15:09:18 | +---------------------+
mysql> SELECT NOW() + INTERVAL 30 MINUTE;
ผลลัพธ์:
+--------------------------+ | NOW() + INTERVAL 30 MINUTE | +--------------------------+ | 2019-02-27 15:39:33 | +--------------------------+
สรุปความแตกต่าง
| คุณสมบัติ | DATE_ADD() | + INTERVAL |
|---|---|---|
| ความเข้ากันได้ | MySQL เท่านั้น | MySQL, MariaDB, PostgreSQL (บางรุ่น) |
| ความอ่านง่าย | ชัดเจน เรียกฟังก์ชัน | สั้นกระชับ 自然 |
| รองรับลบได้ไหม | ใช้ DATE_SUB() | ใช้ - INTERVAL ได้เลย |
คำแนะนำ
ทั้งสองวิธีให้ผลลัพธ์เหมือนกัน เลือกใช้ตามสไตล์ทีมงาน แต่ + INTERVAL เขียนสั้นกว่าและรองรับการลบได้โดยตรง