- ¿Para qué base de datos es? Quizás haya alguna base de datos que te permita hacerlo con alguna función especial. Con el tema fechas y conversiones de tipo, cada base de datos es un poco especial.
- Dices que no lo hace correctamente. ¿Qué significa eso? ¿Da un error o el resultado no es correcto?
- Por lo que veo estás tratando de convertir formatos, pero no entiendo bien lo que quieres hacer.
¿El resultado que deseas es un número con decimales que te diga cuantas horas ha durado algo? (10 minutos + 50 minutos + 30 minutos = 1,5 horas)
Si es así, supongo que deberías sumar de la siguiente manera:
sum(horas) + sum (minutos) / 60 + sum (segundos) / 3600
- Veo además que utilizas el % para convertir algo de los minutos. ¿Es eso correcto?
Código SQL
[-]CONVERT(DATETIME,
CONVERT(CHAR(3),
SUM(DATEPART(MINUTE, Duration)) / 60 +
SUM(DATEPART(HOUR, Duration))) + ':' +
CONVERT(CHAR(3),
SUM(DATEPART(Minute, Duration)) % 60)) AS Duracion