將TIMEDIFF 輸出轉換為MySQL 中人類可讀的日、小時、分鐘和秒格式
面臨轉換輸出的挑戰TIMEDIFF 轉換為更用戶友好的格式,以天、小時、分鐘和秒的形式顯示時間差,許多MySQL 用戶都在尋求解決方案。為了解決這個問題,讓我們深入研究提供的查詢:
SELECT TIMEDIFF(end_time, start_time) AS "total" FROM `metrics`;
此查詢毫不費力地從 end_time 中減去 start_time,產生總時間差作為“total”列。然而,輸出以原始格式呈現,一目了然地解釋起來很麻煩。
為了修正這個問題,建議的方法利用 CONCAT 函數將時間差的組成部分拼接在一起,形成人類的時間差- 可讀字串。以下 SQL 語句完成此轉換:
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')
將佔位符 end_time 和 start_time 值替換為指標表中對應的欄位名稱。
此解決方案巧妙地從 TIMEDIFF 結果中提取小時數,並如有必要,將它們轉換為天。然後附加小時和分鐘以形成所需的輸出。請注意,此方法適用於 35 天內的時間差。對於涉及更長的場景,使用 TIMESTAMPDIFF 的替代解決方案可能更合適。
以上是如何在 MySQL 中將 TIMEDIFF 輸出轉換為日、小時、分鐘和秒格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!