Rumah > Artikel > pangkalan data > Bagaimanakah kita boleh mengabaikan nilai negatif yang dikembalikan oleh fungsi MySQL DATEDIFF()?
Seperti yang kita sedia maklum, fungsi DATEDIFF() digunakan untuk mendapatkan perbezaan hari antara dua tarikh. Oleh itu, ia juga berkemungkinan mengembalikan nilai negatif.
mysql> select * from differ; +------------+-------------+ | OrderDate | WorkingDate | +------------+-------------+ | 2017-10-22 | 2017-10-29 | | 2017-10-25 | 2017-10-30 | | 2017-10-25 | 2017-11-30 | +------------+-------------+ 3 rows in set (0.00 sec)
Pertanyaan di atas akan mengembalikan nilai dalam jadual "berbeza". Sekarang jika seseorang ingin mendapatkan perbezaan antara OrderDate dan workingDate maka output akan menjadi negatif seperti yang ditunjukkan di bawah -
mysql> Select DATEDIFF(OrderDate, WorkingDate)AS 'DIFFERENCE IN DAYS' from differ; +--------------------+ | DIFFERENCE IN DAYS | +--------------------+ | -7 | | -5 | | -36 | +--------------------+ 3 rows in set (0.00 sec)
Tetapi kita boleh mengabaikan nilai negatif ini menggunakan fungsi MySQL ABS() seperti berikut -
mysql> Select ABS(DATEDIFF(OrderDate, WorkingDate))AS 'DIFFERENCE IN DAYS' from differ; +--------------------+ | DIFFERENCE IN DAYS | +--------------------+ | 7 | | 5 | | 36 | +--------------------+ 3 rows in set (0.00 sec)
Atas ialah kandungan terperinci Bagaimanakah kita boleh mengabaikan nilai negatif yang dikembalikan oleh fungsi MySQL DATEDIFF()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!