Jump to content

Nejčastější dotazy/Base/120

From The Document Foundation Wiki
< Faq | Base
This page is a translated version of the page Faq/Base/120 and the translation is 100% complete.


Jak mohu vypočítat čas?

Vycházíme-li ze dvou polí, z nichž jedno udává čas zahájení a druhé čas ukončení, lze rozdíl mezi nimi v minutách vypočítat pomocí následujícího dotazu:

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

Vysvětlení

Pomocí funkce DATADIFF vypočítat počet minut mezi dvěma časy

  • Funkci DATEDIFF lze použít k výpočtu počtu minut mezi dvěma časy.
  • Operátor || spojí výsledek s řetězci nul představujícími hodiny a sekundy. Příkladem výsledku je '00:75:00'.
  • CAST převede tento řetězec na formát času (TIME).
  • Interně je datum nebo čas číselná hodnota, '1' odpovídá jednomu dni. Celočíselná část představuje datum a zlomková část čas.
  • Ve výchozím nastavení je v záhlaví sloupce vzorec použitý pro výpočet. Obvykle je vhodnější přidat alias (Durée v tomto příkladu).

Chcete-li získat výsledek ve formátu času, použijte k jeho formátování funkci TO_CHAR.

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"