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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-10-24 05:00:44841ブラウズ

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

MySQL で TIMEDIFF 出力を人間が判読できる日、時、分、秒の形式に変換する

の出力を変換するという課題に直面するTIMEDIFF を、時差を日、時、分、秒の単位で表示する、より使いやすい形式に変換するため、多くの MySQL ユーザーが解決策を求めてきました。この問題に対処するために、提供されたクエリを詳しく調べてみましょう。

SELECT TIMEDIFF(end_time, start_time) AS "total" FROM `metrics`;

このクエリは、end_time から start_time を簡単に減算し、合計時間差を「合計」列として算出します。ただし、出力は生の形式で表示されるため、一目で解釈するのが面倒です。

これを修正するために、提案されたアプローチでは、CONCAT 関数を利用して、時差の構成部分を人間の形につなぎ合わせます。 -読み取り可能な文字列。次の 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')

プレースホルダーの end_time 値と start_time 値を、メトリクス テーブル内の対応する列名に置き換えます。

このソリューションは、TIMEDIFF 結果から時間を適切に抽出し、必要に応じて日数に変換します。次に、時間と分を追加して、目的の出力を形成します。このアプローチは 35 日以内の時差に適していることに注意してください。より長期間にわたるシナリオの場合は、TIMESTAMPDIFF を使用する代替ソリューションの方が適切な場合があります。

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

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