Zeitberechnung...

klebbo

Neuer Benutzer
Beiträge
1
Hallo zusammen.

Ich komme zu euch mit einem für mich recht heiklen Thema, da ich nicht auf SQLite spezialisiert bin.
Und zwar geht es, im Prinzip, um eine recht simple Summierung.

Ich habe eine SQLite-Datenbank unserer Zeiterfassung. Dort wird die Arbeitszeit nicht ganz Logisch abgespeichert. Arbeitet jemand 7 Stunden 30 Minuten, steht in der Datenbank : 7,3. Dies gilt es umzurechnen Industrieminuten. Soweit so gut. Folgenden Code habe ich:

SELECT

CASE
WHEN substr(IstStd,3,1) LIKE ',' OR '.'


THEN (SUM(CASE WHEN (substr(IstStd,4,2)/60 NOT LIKE 0) THEN ROUND((substr(IstStd,4,2))/60 + (substr(IstStd,1,2)),2) ELSE (IstStd) END))


ELSE (SUM(CASE WHEN (substr(IstStd,3,2)/60 NOT LIKE 0) THEN ROUND((substr(IstStd,3,2))/60 + (substr(IstStd,1,1)),2) ELSE (IstStd) END)) END AS IstStd


FROM ARCHIV_JOURNAL WHERE PersNr ='3041' AND Datum BETWEEN '2019-09-01' AND '2019-09-30'


Eine Menge CASE, aber ich musste halt bei den Nachkommastellen abtrennen, diese umrechnen und quasi wieder zusammenfügen. Soweit so gut. Es klappt zu 95%. Sobald die Arbeitszeit über 10 Stunden ist, komme ich nicht mehr an die Nachkommastellen ran. Obwohl ich genau diesen Fall abfange mit dem ersten CASE. Er nimmt die Werte als reinen INT, somit fehlen mir die Nachkommastellen.

Hat jemand eventuell eine Idee, wie ich's zum laufen bekomme, oder eventuell einen besseren Weg?

Über jede Hilfe bin ich sehr Dankbar!!

Vielen Dank im voraus und einen angenehmen Tag!

Liebe Grüße,
Matthias
 
Werbung:
Zurück
Oben