Hej! Jag vet inte om jag minns rätt, men tid anges som en andel av ett dygn. I ditt fall skulle resultatet bli 5,61E-2 * 24 (timmar på dygnet) = 1,35 tim = 81 minuter. Men som sagt, jag kan minnas fel. Hm, verkar inte riktigt fungera. Mina testvärden i tabellen tbl_stampelklock ser ut som följer: Tänk på att det är i decimal. Vilket vårt tidssystem inte är. SELECT Format(slut_tid-start_tid,"hh:nn:ss") FROM tbl_stampelklocka; Yes!! Nu fungerar det klockrent! Aha, dessa frågor du skrev nyss ska jag testa, mina ser lite annorlunda ut nu. Frågan med FORMAT() fungerar precis som jag ville lösa det med kortare fråga än min nuvarande. Tackar så mycket för hjälpen! Märkligt, när jag kör 5.61342592592595E-2 * 24 i Excel så blir det 1,35 och inte 0,135. Om det blir 0,135 så ska det helt riktigt vara ca 8 minuter och inte ca 80. 5,61342592592595E-03 ska det vara. Det är det resultat Access ger. Aha, tack. Det stod E-2 i frågan. Då kan jag somna om.Tidsdifferans i SQL (i MS Access 2007)
Jag har en rapport som skapas utifrån en fråga där jag behöver beräkna tidsdifferansen inifrån SQL som finns i MS Access. Det finns ju SQL-funktioner TIMEDIFF() och DATEDIFF(), men dessa fungerar ju inte den SQL som finns i MS Access har jag märkt. För när jag provade TIMEDIFF() i MySQL var det inga problem.
Det är en enkel stämpelklocka, så jag har två kolumner start_tid och slut_tid med datatypen Datum/Tid och långt tidsformat (t.ex. 8:17:50 PM, ser det ut i tabellen när data sparas).
Jag undrar då hur jag ska få fram tidsdifferansen från MS Access som SQL-fråga, för att få fram antal arbetade timmar och minuter?
Har även testat med:
SELECT slut_tid-start_tid FROM tbl_stampelklocka;
men det resulterar i svar som: 5.61342592592595E-2
Tackar på förhand!
Mvh Ramon Sv: Tidsdifferans i SQL (i MS Access 2007)
Sv:Tidsdifferans i SQL (i MS Access 2007)
start_tid slut_tid
8:17:50 PM 8:25:55 PM
8:18:53 PM 8:30:00 PM
3:27:02 AM 4:22:00 AM
När jag exekverar frågan
SELECT slut_tid-start_tid FROM tbl_stampelklocka;
får jag följande svar för rad 1 ovan: 5.61342592592595E-2
Om jag ställer frågan som:
SELECT (slut_tid-start_tid)*24 FROM tbl_stampelklocka;
så får jag följande för rad 1:
0.134722222222223
Men det stämmer ju inte riktigt, för 8.25:55 - 8:17:50 borde ju bli 00:08:05, dvs. 8 minuter och 5 sekunders differans.Sv: Tidsdifferans i SQL (i MS Access 2007)
Exempel:
1 * 24 = 24 h
0,5 * 24 = 12 h
5,61342592592595E-03 * 24 = 0,1347222222222228 h
0,1347222222222228 h * 60 = 8,083333333333368 m (alltså 8 hela minuter)
0,083333333333368 m * 60 = 5,00000000000208 s (här räknar vi det som blir över)
Stämmer ju perfekt :-)Sv:Tidsdifferans i SQL (i MS Access 2007)
SELECT DateDiff("n",start_tid,slut_tid) FROM tbl_stampelklocka;
funkar bra i Access.Sv:Tidsdifferans i SQL (i MS Access 2007)
Tack så mycket för hjälpen Håkan och André. Sv: Tidsdifferans i SQL (i MS Access 2007)
Sv:Tidsdifferans i SQL (i MS Access 2007)
Sv: Tidsdifferans i SQL (i MS Access 2007)
Sv:Tidsdifferans i SQL (i MS Access 2007)
Sv: Tidsdifferans i SQL (i MS Access 2007)