Frequently asked questions - Base

From The Document Foundation Wiki
< Faq‎ | Base
Jump to: navigation, search
This page is a translated version of the page Faq/Base/120 and the translation is 82% complete.

Other languages:
dansk • ‎Deutsch • ‎English • ‎español • ‎français • ‎italiano


¿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

Uso de la función DATADIFF para calcular la cantidad de minutos que hay entre dos horas

  • 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"

FR.FAQ Base 120 FormatHoraire.png