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

DATEADD หรือ DATE_ADD ใน MySQL ใช้ตัวไหน?

ใน 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 เขียนสั้นกว่าและรองรับการลบได้โดยตรง