Forum
Legacy Member
Hallo,
Ik heb volgende tabel in MS SQL Server 2008 R2:
Employee ID # Duration
################
00001 # 7,6
00002 # 7,6
00003 # 11,5
.....
Het veld Duration is van het type NUMERIC(28, 12) en stelt gewerkte uren van iemand voor. Ik zou dit willen splitsen in uren en minuten:
select employeeid, floor(duration) as hours, (duration - floor(duration)) * 60 as minutes from tabel.
Maar als ik de som wil nemen van iedereen, klopt het niet meer.
select floor(sum(duration)), (sum(duration) - floor(sum(duration))) * 60 from table.
De minuten zijn altijd 60 of 0 omdat sum(duration) - floor(sum(duration)) altijd 1 of 0 is, terwijl "duration - floor(duration)" wel decimalen na de komma teruggeeft en "sum(duration) - floor(sum(duration))" niet...
Ik weet niet wat ik fout doe.
Iemand enig idee? Alvast bedankt.
Ik heb volgende tabel in MS SQL Server 2008 R2:
Employee ID # Duration
################
00001 # 7,6
00002 # 7,6
00003 # 11,5
.....
Het veld Duration is van het type NUMERIC(28, 12) en stelt gewerkte uren van iemand voor. Ik zou dit willen splitsen in uren en minuten:
select employeeid, floor(duration) as hours, (duration - floor(duration)) * 60 as minutes from tabel.
Maar als ik de som wil nemen van iedereen, klopt het niet meer.
select floor(sum(duration)), (sum(duration) - floor(sum(duration))) * 60 from table.
De minuten zijn altijd 60 of 0 omdat sum(duration) - floor(sum(duration)) altijd 1 of 0 is, terwijl "duration - floor(duration)" wel decimalen na de komma teruggeeft en "sum(duration) - floor(sum(duration))" niet...
Ik weet niet wat ik fout doe.
Iemand enig idee? Alvast bedankt.