sql >> Databasteknik >  >> RDS >> Mysql

Räkna timmar med MySQL

Jag tänkte att jag skulle ge dig svaret i perspektivet av att sammanfatta tidsvärderelaterade problem som utvecklare, användare har ställts inför hittills. Det handlar inte bara om formatering.

Du kanske eller kanske inte har märkt att det finns möjlighet att summan av din totala tid kan beräknas fel av motorn. Ytterligare mysql-motor kan returnera null även om du har värden.

När du lägger till/aggregerar tidsvärden konverteras det till ett tal och resultaten kommer att vara i talformat. Om du försöker lägga till tidsvärden som följande:

t.ex. 01:38:50, 03:40:25 --> bör helst resultera i 05:19:15

  • Om du gör Sum(de två ovan) --> får du ett tal
  • Om du använder CAST(Sum(de två ovan) SOM TID) --> får du null
  • Det finns två andra möjligheter som visas i mitt kodavsnitt.

Exempelkodreferens . Det kommer att visa dig de olika resultaten som vi just diskuterade. För närvarande verkar det som om trevägsformatering kan hjälpa.

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

Feget som rapporterats till MySQL är inte åtgärdat än.




  1. Oracle -- hitta värden med inledande eller efterföljande mellanslag

  2. Typer av tabellrelationer i MS Access

  3. slå samman tabeller och transponera kolumner och rader

  4. Problem med att ansluta data till MySQL