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

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

DDD
DDDオリジナル
2024-10-24 02:03:02943ブラウズ

How to Convert MySQL TIMEDIFF Output into Day, Hour, Minute, Second Format?

時間差出力を日、時、分、秒形式に変換する

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 サイトの他の関連記事を参照してください。

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