ホームページ >データベース >mysql チュートリアル >MySQL で TIMEDIFF 出力を日、時、分、秒の形式に変換するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。