Ich habe die folgende Abfrage:mysql eine falsche TIMEDIFF gibt aus 20 rechts
SELECT `Time`,
`Resolution`,
HOUR(TIMEDIFF(`Resolution`,`Time`)),
TIMEDIFF(`Resolution`,`Time`),
datediff(`Resolution`,`Time`)
FROM Cases;
Um zu debuggen, füge ich die TIMEDIFF ohne die Stunde vor, nur um zu sehen, ob das Ergebnis anders ist. Ich benutze datediff, um zu überprüfen.
Das Ergebnis der Abfrage ist:
+---------------------+---------------------+-------------------------------------+-------------------------------+-------------------------------+
| Time | Resolution | HOUR(TIMEDIFF(`Resolution`,`Time`)) | TIMEDIFF(`Resolution`,`Time`) | datediff(`Resolution`,`Time`) |
+---------------------+---------------------+-------------------------------------+-------------------------------+-------------------------------+
| 2017-01-10 13:35:00 | 2017-01-24 10:52:00 | 333 | 333:17:00 | 14 |
| 2017-01-12 15:53:00 | 2017-02-21 16:06:00 | 838 | 838:59:59 | 40 |
| 2017-01-18 09:19:00 | 2017-01-18 13:39:00 | 4 | 04:20:00 | 0 |
| 2017-01-23 09:00:00 | 2017-01-23 15:08:00 | 6 | 06:08:00 | 0 |
| 2017-01-24 08:49:00 | 2017-02-20 14:34:00 | 653 | 653:45:00 | 27 |
Eigentlich ist es mehr Linien, aber die entsprechende Zeile ist das 2 Ergebnis liefert - 838 Stunden, die auf 34,91 Tage übersetzt, lassen Sie uns 35 sagen, aber die DATEDIFF Geben Sie 40 und wenn Sie die Berechnung selbst machen, sind es 40 Tage! 12. Januar bis 21. Februar
Alle anderen 21 Ergebnisse sind korrekt.
Irgendeine Idee warum? Ein Fehler in MySQL? Alle Antworten werden sehr geschätzt.
Vielen Dank. Das hat geholfen. – Slarti42
Wenn dies Ihr Problem gelöst hat, bitte akzeptieren Sie meine Antwort, indem Sie auf das Häkchen :) – inarilo
getan, danke nochmal. – Slarti42