MySQL TIMEDIFF 出力を日、時、分、秒形式に変換する
MySQL で 2 つの DATETIME 値間の時差をクエリする場合、 TIMEDIFF 関数は通常、時:分:秒の形式で値を返します。ただし、日と秒を含むより包括的な表現が必要な場合は、カスタム式を利用できます。
TIMEDIFF 出力を日、時間、分、秒としてフォーマットするには、次のクエリを使用できます。
<code class="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', SECOND(TIMEDIFF(end_time, start_time)), ' seconds' )</code>
end_time と start_time を、特定の時間範囲を表す対応する列または値に置き換えます。
たとえば、次の値があるとします。
start_time = '2010-01-01 12:30' end_time = '2010-01-06 08:46'
クエリを実行すると、次の出力が生成されます:
4 days 20 hours 12 minutes 10 seconds
このソリューションは 35 日の範囲内の日付の違いを効果的に処理することに注意することが重要です。 35 日を超える大きな日付の違いが予想される場合は、TIMESTAMPDIFF 関数を利用した代替ソリューションを検討することをお勧めします。
以上がMySQL TIMEDIFF 出力を日、時、分、秒の形式に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。