sql >> Databáze >  >> RDS >> Mysql

Počítání hodin pomocí MySQL

Myslel jsem, že vám pošlu odpověď z hlediska shrnutí problémů souvisejících s časovou hodnotou, s nimiž se uživatelé dosud potýkali. Nejde jen o formátování.

Možná jste si všimli, možná ne, že motor může špatně vypočítat součet vašeho celkového času. Další modul mysql může vrátit hodnotu null, i když máte hodnoty.

Když přidáváte/agregujete časové hodnoty, jsou převedeny jako číslo a výsledky budou ve formátu čísel. Pokud se pokusíte sečíst časové hodnoty, jako je následující:

např. 01:38:50, 03:40:25 --> by měl v ideálním případě vyústit v 05:19:15

  • Pokud uděláte Součet (dva výše uvedené) --> dostanete číslo
  • Pokud použijete CAST (Součet (dva výše uvedené) JAKO ČAS) --> dostanete hodnotu null
  • Ve fragmentu mého kódu jsou uvedeny dvě další možnosti.

Ukázkový referenční kód . Ukáže vám různé výsledky, o kterých jsme právě hovořili. Zatím se zdá, že třícestné formátování by mohlo pomoci.

time_format(sec_to_time(sum(time_to_sec(logged_duration))),'%h:%i:%s') total_log_duration

Chyba nahlášená MySQL zatím není opravena.




  1. Při zahrnutí potřebných ovladačů s maven-assembly-plugin nebyl nalezen žádný vhodný ovladač

  2. Oracle převede DD-MON-YY na DD/MM/RRRR

  3. Proč v klauzulích where nejsou žádné funkce v okně?

  4. Laravel 5 + PostgreSQL:Databáze [postgres] není nakonfigurována. Chyba