Ten eerste: ik heb googled,gotsearched,faq'ed etc, maar ik kom er niet uit:
Laat ik even kort uitleggen wat mijn probleem is:
Ik heb een login systeem waarin de logins worden gelogged in MSSQL (SQL Server. Geen probleem. Hij slaat ze echter op in een non-standard formaat nl.:
20040212090641 [jaar][maand][dag][uur][minuut][seconde]
Het formaat van input kan ik helaas niet meer wijzigen (don't ask)
Bij elke row heb ik 2 van die timestamps, ik zou graag willen zien hoelang iemand is ingelogged (row2 - row1) echter kan ik ze niet zomaar van elkaar aftrekken want dan komen er hele rare dingen uit. Het liefst zou ik een formaat zien als "1 Dag(en), 4 uur, 14 min", maar ik kom er niet uit.
Ik parse ze nu met substrings in een datetime:
Ook hier geen probleem. Dit doe ik 2 maal (voor de datum1 en datum2)
De uitkomst die ik graag zou willen hebben is een nieuwe tijd (het verschil tussen de datetimes)
Ik heb datediff geprobeerd, maar die laat bijvoorbeeld alleen het aantal seconden
zien, OF het aantal minuten, OF uren etc. ( dus bijvoorbeeld 3634 seconden, maar niet 1 uur en 34 minuten)
Ik ben een beetje radeloos nu
Laat ik even kort uitleggen wat mijn probleem is:
Ik heb een login systeem waarin de logins worden gelogged in MSSQL (SQL Server. Geen probleem. Hij slaat ze echter op in een non-standard formaat nl.:
20040212090641 [jaar][maand][dag][uur][minuut][seconde]
Het formaat van input kan ik helaas niet meer wijzigen (don't ask)
Bij elke row heb ik 2 van die timestamps, ik zou graag willen zien hoelang iemand is ingelogged (row2 - row1) echter kan ik ze niet zomaar van elkaar aftrekken want dan komen er hele rare dingen uit. Het liefst zou ik een formaat zien als "1 Dag(en), 4 uur, 14 min", maar ik kom er niet uit.
Ik parse ze nu met substrings in een datetime:
code:
1
2
3
4
| CAST(SUBSTRING(a.datetimef, 5, 2) + '-' + SUBSTRING(a.datetimef, 7, 2) + '-' + SUBSTRING(a.datetimef, 1, 4) + ' ' + SUBSTRING(a.datetimef, 9, 2) + ':' + SUBSTRING(a.datetimef, 11, 2) + ':' + SUBSTRING(a.datetimef, 13, 2) AS datetime) |
Ook hier geen probleem. Dit doe ik 2 maal (voor de datum1 en datum2)
De uitkomst die ik graag zou willen hebben is een nieuwe tijd (het verschil tussen de datetimes)
Ik heb datediff geprobeerd, maar die laat bijvoorbeeld alleen het aantal seconden
zien, OF het aantal minuten, OF uren etc. ( dus bijvoorbeeld 3634 seconden, maar niet 1 uur en 34 minuten)
Ik ben een beetje radeloos nu
[ Voor 30% gewijzigd door stfn345 op 16-02-2004 10:46 . Reden: waarom is hij bij 'bekijk bericht' wel in de goede layout en bij verstuur niet meer? ]