Frequently asked questions - Base
Appearance
Outdated translations are marked like this.
TDF LibreOffice Document Liberation Project Blogs comunitarios Weblate Nextcloud Redmine Ask LibreOffice Donar
¿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"