Rumah > Artikel > pangkalan data > Bagaimana untuk Mengira Jumlah Masa dari Selang Tarikh-Masa dalam MySQL?
Mengira Jumlah Masa daripada Selang Tarikh-Masa dalam MySQL
Apabila bekerja dengan nilai tarikh-masa, mengira perbezaan masa boleh menjadi tugas biasa . Dalam MySQL, anda boleh menghadapi cabaran apabila cuba menjumlahkan selang masa. Artikel ini membincangkan penyelesaian kepada isu ini.
Pertimbangkan jadual yang mengandungi nilai tarikh-masa dalam format berikut:
START 1/13/2009 7:00:00AM END 1/13/2008 2:57:00PM
Untuk mengira perbezaan antara nilai tarikh-masa ini, anda boleh gunakan fungsi TIMEDIFF(). Walau bagaimanapun, menjumlahkan secara langsung keputusan TIMEDIFF() tidak memberikan jumlah yang tepat.
Sebaliknya, pendekatan yang lebih cekap ialah menukar selang masa kepada saat dan kemudian menjumlahkannya. Ini boleh dicapai menggunakan pertanyaan berikut:
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `time` ) ) ) AS total_time FROM time_table;
Pertanyaan ini menukar selang masa yang disimpan dalam lajur masa kepada saat dan kemudian menjumlahkan hasilnya. Akhir sekali, ia menukarkan jumlah saat kembali kepada format masa, menghasilkan jumlah nilai masa.
Dalam contoh yang diberikan, pertanyaan akan mengira jumlah masa yang dibelanjakan antara masa MULA dan TAMAT dan memaparkan hasilnya dalam jam dan minit (cth., "40:53"). Kaedah ini membolehkan penjumlahan tepat selang masa, memberikan maklumat yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Masa dari Selang Tarikh-Masa dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!