ホームページ >データベース >mysql チュートリアル >MySQL TIMEDIFF の結果を日、時、分、秒の形式に変換するにはどうすればよいですか?

MySQL TIMEDIFF の結果を日、時、分、秒の形式に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-24 04:15:02898ブラウズ

How to Convert MySQL TIMEDIFF Results to Day, Hour, Minute, and Second Format?

MySQL TIMEDIFF 出力を日、時、分、秒の形式に変換する

問題:

時間を計算するときMySQL で TIMEDIFF(end_time, start_time) を使用して 2 つの日時の差を計算すると、時、分、秒を示す「116:12:10」のような形式で結果が返されます。ただし、必要な形式は「4 日 20 時間、12 分など」です。

解決策:

必要な形式を実現するには、次のクエリを使用できます。 :

<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 を特定の日時で置き換えます:

<code class="sql">SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')) / 24), ' days ',
MOD(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), 24), ' hours ',
MINUTE(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), ' minutes')</code>

注:

このソリューションは、35 日以内の時差にのみ適しています。時差が 35 日を超えることが予想される場合は、代わりに TIMESTAMPDIFF の使用を検討してください。

以上がMySQL TIMEDIFF の結果を日、時、分、秒の形式に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。