MySQL で時差を扱う場合、結果を次のように表示すると便利なことがよくあります。日、時、分、秒など、より人間が読みやすい形式。時差が大きい場合、これは困難になる可能性があります。
次のようなクエリがあるとします。
SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;
は、116 を表す
116:12:10
のような値を返します。時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 中国語 Web サイトの他の関連記事を参照してください。