Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Output Perbezaan Masa kepada Format Hari, Jam, Minit dan Kedua dalam MySQL?
Apabila bekerja dengan perbezaan masa dalam MySQL, ia selalunya berguna untuk memaparkan hasil dalam format yang lebih boleh dibaca oleh manusia, seperti hari, jam, minit dan saat. Ini boleh mencabar jika perbezaan masa adalah besar.
Andaikan anda mempunyai pertanyaan seperti:
SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;
yang mengembalikan nilai seperti:
116:12:10
mewakili 116 jam, 12 minit dan 10 saat. Untuk menukar ini kepada format yang lebih mudah dibaca, gunakan pertanyaan berikut:
SELECT CONCAT( FLOOR(HOUR(TIMEDIFF(end_time,start_time)) / 24), ' days ', MOD(HOUR(TIMEDIFF(end_time,start_time)), 24), ' hours ', MINUTE(TIMEDIFF(end_time,start_time)), ' minutes')
Ganti end_time dan start_time dengan nama lajur sebenar anda.
Contohnya, katakan end_time ialah '2010-01 -06 08:46' dan masa_mula ialah '2010-01-01 12:30'. Pertanyaan di atas akan kembali:
4 days 20 hours 12 minutes
Perhatikan bahawa penyelesaian ini hanya berfungsi untuk perbezaan tarikh dalam masa 35 hari. Jika anda tahu terdapat lebih daripada 35 hari antara masa_mula dan masa_akhir, pertimbangkan untuk menggunakan TIMESTAMPDIFF.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Output Perbezaan Masa kepada Format Hari, Jam, Minit dan Kedua dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!