Faq/Base/120/es

¿Cómo calcular una hora determinada?
Teniendo dos campos, uno con la hora de inicio y el otro con la de finalización, es posible calcular la diferencia en minutos con una consulta como la siguiente:

SELECT "ID", "Hora_Inicio", "Hora_Fin" CAST('00:' || DATEDIFF ('mi',"Hora_Inicio","Hora_Fin) || ':00' AS "TIME") AS "Duración" FROM "Tabla1"

Explicación




 * La función DATEDIFF puede emplearse para calcular el número de minutos entre dos horas.
 * El operador || concatena el resultado con cadenas de ceros que representan horas y segundos. Un ejemplo de resultado es: «00:75:00».
 * CAST convierte esta cadena al formato horario (TIME).
 * Internamente, una fecha o una hora es un valor numérico; «1» se corresponde con un día. La parte entera representa la fecha y la fraccionaria, la hora.
 * De manera predeterminada, la cabecera de columna es la fórmula que se utiliza para el cálculo. A menudo resulta conveniente añadir un alias (Duración en este ejemplo).

Para obtener el resultado en formato horario, utilice la función TO_CHAR para darle formato.

SELECT "ID","Hore_Inicio","Hora_Fin" TO_CHAR(CAST( '00:'|| DATEDIFF( 'mi',"Hora_Inicio","Hore_Fin)||':00' AS "TIME" ), 'HH:MI') AS "Duración" FROM "Tabla1"




 * Descargar una base de datos de ejemplo