MySQL での時間差の計算
特定の形式の日時値を持つ MySQL テーブルがあり、その差を計算したいと考えています。それらの間の結果を合計して、特定の期間の合計時間を取得します。これを実現する方法を見てみましょう。
TIME_TO_SEC() と SEC_TO_TIME() の使用
TIME_TO_SEC() 関数は、時刻値を「HH:MM:」形式に変換します。 SS」を秒数に変換します。 2 つの時間値の差を計算するには、次の式を使用できます。
TIME_DIFFERENCE = TIME_TO_SEC(END_TIME) - TIME_TO_SEC(START_TIME)
ただし、必要な出力は時間単位であるため、時間の差を秒から時間に変換する必要があります。これは、SEC_TO_TIME() 関数を使用して実行できます。
TOTAL_HOURS = SEC_TO_TIME(TIME_DIFFERENCE)
合計時間の計算
1 週間など、特定の期間の合計時間を確認するにはでは、次のクエリを使用できます:
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `time` ) ) ) AS total_time FROM time_table;
このクエリでは、TIME_TO_SEC() 関数が時間列の各時間値に適用されます。次に、結果は SUM() 関数を使用して合計されます。最後に、SEC_TO_TIME() 関数を使用して合計秒数を時間に変換し、目的の出力を提供します。
以上が時間値を含む MySQL テーブルから 1 週間の総労働時間を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。