Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah Saya Boleh Mengira Jumlah Jam Dari Perbezaan Masa dalam MySQL?

Bagaimanakah Saya Boleh Mengira Jumlah Jam Dari Perbezaan Masa dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-07 13:36:03329semak imbas

How Can I Calculate the Total Hours From Time Differences in MySQL?

Mengira Jumlah Perbezaan Masa dalam MySQL

Seperti yang anda nyatakan, anda mempunyai jadual dengan nilai tarikh-masa dalam format tertentu dan ingin mengira jumlah jam untuk tempoh tertentu, seperti seminggu.

Untuk mengira perbezaan antara nilai masa mula dan tamat, anda boleh menggunakan fungsi TIMEDIFF(). Walau bagaimanapun, anda mungkin menghadapi masalah apabila cuba menjumlahkan nilai yang dikembalikan.

Untuk menangani perkara ini, pertimbangkan untuk menggunakan pendekatan berikut:

SELECT
  SEC_TO_TIME(SUM(TIME_TO_SEC(`time`))) AS total_time
FROM time_table;

Dalam pertanyaan ini:

  • masa mewakili lajur yang mengandungi nilai masa.
  • TIMEDIFF() mengira perbezaan antara nilai masa mula dan tamat semasa, mengembalikan hasil dalam beberapa saat.
  • TIME_TO_SEC() menukar masa perbezaan dari saat kepada jam.
  • SUM() menambah jam untuk semua baris dalam jadual.
  • SEC_TO_TIME() menukarkan jumlah saat kembali ke dalam format masa, memaparkannya sebagai "xx :xx:xx."

Pendekatan ini akan memberikan anda jumlah masa sebagai rentetan masa yang diformatkan, seperti "40:53."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Jumlah Jam Dari Perbezaan 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