Frequently asked questions - Base
Outdated translations are marked like this.
TDF LibreOffice en español Document Liberation Project Blogs comunitarios Weblate Nextcloud Redmine Preguntas y respuestas 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"