Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Stunden zählen mit MySQL

Ich dachte, ich würde Ihnen die Antwort in der Perspektive posten, zeitwertbezogene Probleme zusammenzufassen, mit denen Entwickler und Benutzer bisher konfrontiert sind. Es geht nicht nur um die Formatierung.

Möglicherweise haben Sie bemerkt, dass die Summe Ihrer Gesamtzeit von der Engine falsch berechnet werden kann. Außerdem könnte die MySQL-Engine null zurückgeben, obwohl Sie Werte haben.

Wenn Sie Zeitwerte hinzufügen/zusammenfassen, werden sie in eine Zahl umgewandelt und die Ergebnisse werden im Zahlenformat angezeigt. Wenn Sie versuchen, Zeitwerte wie die folgenden zu addieren:

z.B. 01:38:50, 03:40:25 --> sollte idealerweise 05:19:15 ergeben

  • Wenn Sie summieren (die beiden oben genannten) --> erhalten Sie eine Zahl
  • Wenn Sie CAST(Sum(the above two) AS TIME) verwenden --> erhalten Sie null
  • Es gibt zwei weitere Möglichkeiten, die in meinem Code-Snippet angezeigt werden.

Beispielcodereferenz . Es zeigt Ihnen die verschiedenen Ergebnisse, die wir gerade besprochen haben. Im Moment scheint es, als könnte eine Drei-Wege-Formatierung helfen.

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

Der an MySQL gemeldete Fehler wurde noch nicht behoben.