Ik ben bezig met een urenregistratie. Wellicht gaat er zometeen geroepen worden dat ik mijn data niet in date_time velden moet neerzetten maar als UNIX-timestamp. Mij lijkt echter wel dat het volgende moet kunnen:
Hier wordt echter als foutmelding aangegeven dat SEC_TO_TIME niet bestaat als functie. Echter hier bij de makers zelf geven ze aan dat dit het aantal seconden om moet zetten naar een HH:MM:SS format.
Wanneer ik de stukken van uren.id_onderdeel (ook de group by) eruit haal doet de functie het wel. Wanneer dit wordt toegevoegd krijg ik een foutmelding. Ik kan echter nergens iets over deze foutmelding wat vinden.
Doe ik iets fout in de query of is het inderdaad hopeloos en zal ik mijn data moeten gaan opslaan in secondes?
Mijn mysql versie = MySQL 5.0.38 phpMyAdmin 2.6.4-pl2
Ps. Ik kreeg de problemen ook bij DATEDIFF en bij TIMEDIFF deze had ik als eerste geprobeerd aangezien deze speciaal voor date_time velden zijn gemaakt. Maar ook die moesten eerst naar seconden worden omgezet aangezien SUM() niet werkt met tijden.
Ik ben overigens niet de enige die dit blijkbaar heeft 1 , 2
Pps. Dit is overigens niet de volledige query, hij moet nog een viertal andere tabellen meenemen, echter deze versimpelde versie doet het al niet, vandaar dat ik eerst even de basis weergeef
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
| SELECT uren.id_onderdeel, SEC_TO_TIME( SUM( UNIX_TIMESTAMP(uren.end_date_time) - UNIX_TIMESTAMP(uren.start_date_time) ) ) AS tijd_gewerkt FROM uren WHERE end_date_time != '' GROUP BY uren.id_onderdeel |
Hier wordt echter als foutmelding aangegeven dat SEC_TO_TIME niet bestaat als functie. Echter hier bij de makers zelf geven ze aan dat dit het aantal seconden om moet zetten naar een HH:MM:SS format.
Wanneer ik de stukken van uren.id_onderdeel (ook de group by) eruit haal doet de functie het wel. Wanneer dit wordt toegevoegd krijg ik een foutmelding. Ik kan echter nergens iets over deze foutmelding wat vinden.
Doe ik iets fout in de query of is het inderdaad hopeloos en zal ik mijn data moeten gaan opslaan in secondes?
Mijn mysql versie = MySQL 5.0.38 phpMyAdmin 2.6.4-pl2
Ps. Ik kreeg de problemen ook bij DATEDIFF en bij TIMEDIFF deze had ik als eerste geprobeerd aangezien deze speciaal voor date_time velden zijn gemaakt. Maar ook die moesten eerst naar seconden worden omgezet aangezien SUM() niet werkt met tijden.
Ik ben overigens niet de enige die dit blijkbaar heeft 1 , 2
Pps. Dit is overigens niet de volledige query, hij moet nog een viertal andere tabellen meenemen, echter deze versimpelde versie doet het al niet, vandaar dat ik eerst even de basis weergeef
[ Voor 6% gewijzigd door Rainmaker1987 op 27-04-2007 19:54 . Reden: Toevoeging + typo ]

