Berechnungen MySQL Time

Pol

Mitglied
Hallo
Ich suche die Resultate der folgenden gegebenen Berechnungen:

Date: 30.05.2014
Stime: 08:30
Etime: 14:50
BreakTime: 1.5 h also 01:30 (90 Minuten)
ExpectedTimePerDay: 08:12 Stunden ist erwartete Arbeitszeit pro Tag

Jetzt suche ich die folgenden Werte mit MySQL. Könnt Ihr mir bitte helfen?

NettoWorkTime: (Etime-Stime) - BreakTime Resultat sollte 04:50 sein
HoursToWork: 08:12 - NettoWorkTime Resultat sollte 03:22 sein
ShouldEndPeriod: Etime + HoursToWork Resultat sollte 18:12 sein
ShouldEndPeriodDay: Date + ShouldEndPeriod Resulat sollte 30.05.2014 18:12 sein

ShouldEndPeriod sollte erst Kalkuliert werden wenn HoursToWork > 0 ist, ansonsten einfach NULL

Danke im Voraus
Pol
 
Hallo
Ich habe mittlerweile die gesuchten Antworten für meine Frage wie folgt gefunden. Untenstehend ist die Query falls jemand etwas ähnliche benötigen würde.


SELECT arbzid,
arbzusrid,
arbzstart
arbzend,
szeit,
ezeit,
arbzpause,
abszsollstd,
gs,
ge,
TIMEDIFF(arbzend,arbzstart) as Arbeitszeit,
SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60)) as NettoWorkTime,
IF (SUBTIME (SEC_TO_TIME(abszsollstd *60*60),SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60)))>0,SUBTIME (SEC_TO_TIME(abszsollstd *60*60),SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60))) ,'') as HoursToWork,
IF(SUBTIME (SEC_TO_TIME(abszsollstd *60*60),SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60))) >0,1,0) as OpenHours,
IF(SUBTIME (SEC_TO_TIME(abszsollstd *60*60),SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60))) >0,ADDTIME (ezeit ,SUBTIME (SEC_TO_TIME(abszsollstd *60*60),SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60)) )),'') as ShouldEndPeriod,
IF(SUBTIME (SEC_TO_TIME(abszsollstd *60*60),SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60))) >0,ADDTIME (arbzend ,SUBTIME (SEC_TO_TIME(abszsollstd *60*60),SUBTIME((TIMEDIFF(arbzend,arbzstart)),SEC_TO_TIME(arbzpause *60*60)) )),'') as ShouldEndPeriodDay
FROM arbeitszeit

Pol
 
Zurück