Restar tiempos en Firebird
Hola de nuevo, necesito restar los valores de dos campos del tipo time. En MySQL está la función TIMEDIFF pero en Firebird no. ¿Alguien puede ayudarme? Gracias.
|
Hola.
Podes usar la función DATEDIFF especificando la unidad de tiempo en que desees el resultado. Saludos :) |
Hola, entonces por lo que dices, ¿puedo restar por ejemplo: 02:30:28 y 02:27:42?
|
Hola.
Así es. Un ejemplo con los valores que mencionas: que te da la diferencia en segundos entre los dos valores. En este caso claramente obtendremos un resultado negativo, pero si lo necesitas, podrás aplicar la función ABS() para obtener el valor absoluto. Saludos :) |
Hace unos días ya estuvimos hablando sobre fechas en el siguiente hilo:
https://www.clubdelphi.com/foros/showthread.php?t=92234 Ahora me surge también a mi una duda... En la función DATEDIFF, el primer parámetro indica la unidad de respuesta de la función(segundos, minutos, días...). En el caso de que se necesite una respuesta del tipo "hh:mm:ss", podria realizarse de forma directa con alguna función?? En su día tuve que realizar una consulta donde se devolviera el tiempo transcurrido entre dos fechas con el siguiente formato y tuve que montar un sp para calcular-lo. |
Gracias, solucionado, la Query queda:
Código:
SELECT datediff(minute,CAST(MIN(a.tiempo)AS time), cast(MAX(a.tiempo)AS time)) as diferencia, a.recorrido FROM datos a WHERE a.recorrido = 'recorrido' GROUP BY a.RECORRIDO |
Hola.
Cita:
Saludos :) |
La franja horaria es GMT +2. Ahora son las 14:40:10. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi