Frequently asked questions - Base

From The Document Foundation Wiki
< Faq‎ | Base‎ | 120
Jump to: navigation, search

Come calcolo un tempo?

Partendo da due campi, uno per il tempo iniziale e l'altro per quello finale, la differenza tra loro in minuti può essere calcolata con una query come la seguente:

SELECT "ID", "Heure_Debut", "Heure_Fin" CAST('00:' || DATEDIFF ('mi',"Heure_Debut","Heure_Fin) || ':00' AS "TIME") AS "Durée" FROM  "Table1"

Spiegazione

Use of the DATADIFF function calculate the number of minutes between two times

  • La funzione DATEDIFF può essere usata per calcolare il numero di minuti tra i due tempi.
  • L'operatore || concatena il risultato con stringhe di zeri che rappresentano le ore e i secondi. Un esempio di risultato potrebbe essere '00:75:00'.
  • CAST converte questa stringa in formato tempo (TIME).
  • Internamente una data o un tempo è un valore numerico, '1' corrisponde a un giorno. La parte intera rappresenta la data e la parte frazionaria il tempo.
  • Come predefinito l'intestazione della colonna è la formula usata per il calcolo. Di solito è preferibile aggiungere un nome (Durée in questo esempio)

Per ottenere il risultato in formato tempo, usare la funzione TO_CHAR per formattarlo.

SELECT "ID","Heure_Debut","Heure_Fin" TO_CHAR(CAST( '00:'|| DATEDIFF( 'mi',"Heure_Debut","Heure_Fin)||':00' AS "TIME" ), 'HH:MI') AS "Durée" FROM "Table1"

FR.FAQ Base 120 FormatHoraire.png