Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Jumlah Masa dari Selang Tarikh-Masa dalam MySQL?

Bagaimana untuk Mengira Jumlah Masa dari Selang Tarikh-Masa dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 01:34:02726semak imbas

How to Calculate Total Time from Date-Time Intervals in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn