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

MySQL ส่งคืนอะไรเมื่อส่งวันที่-เวลา (Datetime) ให้ DATEDIFF()?

DATEDIFF() **ข้ามส่วนเวลา** คำนวณเฉพาะความต่างของวันที่:

mysql> SELECT DATEDIFF('2018-10-22 04:05:36', '2017-10-22 03:05:45');
+-------------------------------------------------------+
| DATEDIFF('2018-10-22 04:05:36', '2017-10-22 03:05:45') |
+-------------------------------------------------------+
| 365                                                   |
+-------------------------------------------------------+

mysql> SELECT DATEDIFF('2017-10-22 04:05:36', '2017-10-22 03:05:45');
+-------------------------------------------------------+
| DATEDIFF('2017-10-22 04:05:36', '2017-10-22 03:05:45') |
+-------------------------------------------------------+
| 0                                                     |
+-------------------------------------------------------+

กรณีแรก: ต่างปีละ 1 ปี = 365 วัน (เวลาถูกข้าม)
กรณีที่สอง: วันเดือนปีเหมือนกัน = 0 วัน (แม้เวลาจะต่างกัน)