ホームページ >データベース >mysql チュートリアル >MySQL TIMEDIFF 出力を日、時、分、秒の形式に変換するにはどうすればよいですか?
時間差出力を日、時、分、秒形式に変換する
MySQL の TIMEDIFF 関数を使用して 2 つの時間値の差を計算する場合、時間、分、秒の形式で結果を取得できます。ただし、日数、時間、分、秒の表示など、この出力をよりユーザーフレンドリーな方法で表示する必要がある場合があります。
次のクエリを検討してください。
<code class="sql">SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;</code>
end_time 列と start_time 列に「2023-03-08 12:34:56」や「2023-03-04 15:12:34」のような値が含まれている場合、クエリは時差を次のように返します。 「105:08:22」。これは合計 105 時間 8 分 22 秒を示していますが、ユーザーにとって最も便利な表現ではない可能性があります。
この出力を人間が読みやすい形式に変換するには、次のコマンドを使用できます。次のアプローチ:
<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')</code>
end_time と start_time をクエリ内の特定の列に置き換えます。出力は「日、時間、分」の形式になります。たとえば、「105:08:22」の時差は「4 日 9 時間 8 分」と表示されます。
この方法は、時差が 35 秒以内の場合にのみ適用できることに注意してください。日々。時差が 1 か月を超える場合は、TIMESTAMPDIFF() を使用するような代替アプローチの方が適切な場合があります。
以上がMySQL TIMEDIFF 出力を日、時、分、秒の形式に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。