Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Output TIMEDIFF ke dalam Format Hari, Jam, Minit dan Kedua dalam MySQL?

Bagaimana untuk Menukar Output TIMEDIFF ke dalam Format Hari, Jam, Minit dan Kedua dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-10-24 05:00:44971semak imbas

How to Convert TIMEDIFF Output into Day, Hour, Minute, and Second Format in MySQL?

Menukar Output TIMEDIFF kepada Format Hari, Jam, Minit dan Kedua yang Boleh Dibaca Manusia dalam MySQL

Menghadapi cabaran menukar output TIMEDIFF ke dalam format yang lebih mesra pengguna yang memaparkan perbezaan masa dari segi hari, jam, minit dan saat, ramai pengguna MySQL telah mencari penyelesaian. Untuk menangani isu ini, mari kita mendalami pertanyaan yang disediakan:

SELECT TIMEDIFF(end_time, start_time) AS "total" FROM `metrics`;

Pertanyaan ini dengan mudah menolak masa_mula daripada masa_akhir, menghasilkan jumlah perbezaan masa sebagai lajur "jumlah". Walau bagaimanapun, output dipersembahkan dalam format mentah, menjadikannya menyusahkan untuk ditafsirkan sepintas lalu.

Untuk membetulkannya, pendekatan yang dicadangkan memanfaatkan fungsi CONCAT untuk mencantumkan bahagian konstituen perbezaan masa menjadi manusia -rentetan boleh dibaca. Pernyataan SQL berikut mencapai transformasi ini:

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')

Gantikan nilai masa tamat dan masa mula pemegang tempat dengan nama lajur yang sepadan dalam jadual metrik anda.

Penyelesaian ini mengekstrak jam daripada hasil TIMEDIFF dan menukarkannya kepada hari jika perlu. Ia kemudian menambah jam dan minit untuk membentuk output yang diingini. Ambil perhatian bahawa pendekatan ini sesuai untuk perbezaan masa dalam tempoh 35 hari. Untuk senario yang melibatkan tempoh yang lebih panjang, penyelesaian alternatif menggunakan TIMESTAMPDIFF mungkin lebih sesuai.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Output TIMEDIFF ke dalam Format Hari, Jam, Minit dan Kedua 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