在MySQL 中處理時差時,在MySQL 中顯示結果通常很有用更易於理解的格式,例如天、小時、分鐘和秒。如果時差很大,這可能會很困難。
假設您有一個像這樣的查詢:
SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;
,它會傳回一個像這樣的值:
116:12:10
代表116小時、12 分鐘、10秒。若要將其轉換為更易讀的格式,請使用以下查詢:
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 替換為您的實際列名。
例如,假設 end_time 是 '2010-01 -06 08:46' 且 start_time 為 '2010-01-01 12:30'。上述查詢將傳回:
4 days 20 hours 12 minutes
請注意,此解決方案僅適用於 35 天內的日期差異。如果您知道 start_time 和 end_time 之間的間隔超過 35 天,請考慮使用 TIMESTAMPDIFF 代替。
以上是如何在 MySQL 中將時差輸出轉換為日、小時、分鐘和秒格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!