2011-07-02 6 views
0

私は勤務時間に計算を行う必要がある勤務時間追跡データベースを作成しています。2つ以上の引数が混在したaddtime

最も簡単な操作が可能です。

AddTime(`starttime`,-`endtime`) 

しかし、もっと多くの数値を計算するとすぐに失敗します。

は仕事が深夜とSTARTTIMEの上にまたがることができると言う:

if(`starttime`<`endtime`, AddTime(`endtime`,-`starttime`),AddTime(`endtime`, AddTime (-`starttime`,24:00:00))) FROM tid WHERE 1 

しかし、受け入れたことをisn't:午後08時00分00秒と終了時刻午前6時00分00秒は、私のような何かをするだろう。

昼休みの可能性を追加する必要があるときは、さらに複雑になります。

どうすればよいですか?

答えて

0

計算を簡単にするため、開始日と終了日とともに、開始日と終了日を同じフィールドに保存することをお勧めします。そうすることで、MySQLのクエリで以下のように作業時間を見つけることができます:

TIMESTAMPDIFF(HOUR, `start_datetime`, `end_datetime`); 
関連する問題