2016-10-21 5 views
0

Wie kann ich den Unterschied zwischen zwei dateTime Speicher in einer MySQL-Datenbank z. B. die Differenz in Stunden zwischen 2016-03-09 04:30:00 und 2016-03-10 03:00 finden : 00. Ich habe dateDiff() versucht, aber es vergleicht nicht die Stunden, die den Unterschied zwischen (2016-03-09 04:30:00) - (2016-03-10 03:10:00) sehen müssen. die Reihenfolge Jahr-Monat-Tag ZeitDer Unterschied zwischen Datetime-Daten in SQL

Structure of database

Der Ausgang muss ich die Anzahl der Stunden zwischen diesen Zeiten ist auch als auch die Zeit berücksichtigen.

+0

Welchen Wert suchen Sie? –

+0

Die Anzahl der Stunden zwischen den beiden Datumsangaben @GordonLinoff – johnnitro

Antwort

1

können Sie TIMESTAMPDIFF verwenden, um die Differenz zwischen zwei Zeitstempel

SELECT TIMESTAMPDIFF(HOUR,'2009-05-18 10:00','2009-05-18 11:00'); 

zu finden, wenn Sie Fraktion wollen (zB: 1,5 Stunden) Stunden, die Sie wie tun können unter

SELECT (UNIX_TIMESTAMP('2012-10-30 10:40')-UNIX_TIMESTAMP('2012-10-30 10:30'))/3600 hour_diff 
+0

Ich brauche den Unterschied zwischen Zeit und nicht nur die Daten – johnnitro

+0

Meine Antwort aktualisiert, bitte überprüfen Sie – sumit

+0

Danke @ timus2001 das ist genau das, was ich brauchte – johnnitro

0

Eine einfache Methode ist, verwenden to_seconds():

select to_seconds(dt1) - to_seconds(dt2) 

Dies gibt den Unterschied in Sekunden. Dann können Sie durch 60 * 60 teilen, um Stunden oder 24 * 60 * 60 für Tage zu erhalten.

+0

Das vergleicht die Daten nur nicht die Zeit @GordonLinoff – johnnitro

+1

@johnnitro. . . Ich bin mir nicht sicher, was du damit meinst. Dies ist die Anzahl der Sekunden zwischen den beiden Werten (oder Stunden oder Tagen) einschließlich der Zeitkomponente. –

Verwandte Themen