Avatar billede zyfer Nybegynder
19. juni 2012 - 10:09 Der er 3 kommentarer og
1 løsning

SQL beregne tid (virker men regner forkert)

Hej.

Jeg har en tabel med tids registreringer.

jeg kører denne SQL(forespørgsel) på den.


SELECT Format(b.PanelDate,"dd/mm-yyyy") AS dato, Round(24*Sum((e.PanelDate-b.PanelDate)),2) AS Total, IIf([Total]>8,Round(([Total]-8),2),[Total]=Null) AS Overtid, IIf(Weekday([dato],2)=6 Or Weekday([dato],2)=7,[Total],Null) AS Weekend

FROM Registreringer AS b, Registreringer AS e

WHERE (((e.Paneldate)=(select min(Paneldate) from Registreringer where G=True and PanelDate >b.PanelDate)) AND ((b.K)= True))

GROUP BY Format(b.PanelDate,"dd/mm-yyyy");

Problemet er at den regner forkert.
"Round(24*Sum((e.PanelDate-b.PanelDate)),2) AS Total"

hvis eks.
e.Paneldate="21-01-2012 08:37:43"
b.Paneldate="21-01-2012 11:15:58"
Bliver Total="2,64"

Skulle være Total="2,38"

Nogen der kan gennemskue det ????
Avatar billede terry Ekspert
19. juni 2012 - 19:19 #1
If you subtract e.PanelDate from b.PanelDate you get 0,109895833331393 and then if you multiple that by 24 you get around 2,64

so the result is correct according to the way you are doing the calculation
Avatar billede terry Ekspert
19. juni 2012 - 19:29 #2
The 2,64 is correct (2,64 hours = 2 hours 37 minutes)

If you want to show 2hrs and 38 minutes then take a look at this link

http://allenbrowne.com/casu-13.html
Avatar billede zyfer Nybegynder
20. juni 2012 - 07:39 #3
Hey terry.and thanks for your answer :-)

I found the solution..


SELECT Format(b.PanelDate,"dd/mm-yyyy") AS dato, format(sum(e.PanelDate-b.PanelDate),"hh:mm:ss") AS Total, IIf([Total]>"08:00:00",    format(DATEADD("h",-8,[Total]),"hh:mm:ss")      ,[Total]=Null) AS Overtid, IIf(Weekday([dato],2)=6 Or Weekday([dato],2)=7,[Total],Null) AS Weekend
FROM Registreringer AS b, Registreringer AS e
WHERE (((e.Paneldate)=(select min(Paneldate) from Registreringer where G=True and PanelDate >b.PanelDate)) AND ((b.K)= True))
GROUP BY Format(b.PanelDate,"dd/mm-yyyy");
Avatar billede terry Ekspert
20. juni 2012 - 17:52 #4
great, thanks for the points.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester