Nejčastější dotazy/Base/120
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
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í
- 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"