MySQL DATEDIFF: Einen Zeitraum zwischen zwei Daten berechnen

Mit MySQL DATEDIFF können Sie sich die Anzahl der Tage zwischen zwei Daten ausgeben lassen. Die Werte sind dabei entweder positiv oder negativ.

Was ist MySQL DATEDIFF?

Um noch zielgerichteter mit MySQL arbeiten zu können, lohnt es sich, einige Daten- und Zeitfunktionen zu kennen. Einer der nützlichsten Befehle des Datenbankmanagementsystems ist die Funktion MySQL DATEDIFF. Sie gibt die Anzahl der Tage zwischen zwei Daten aus. Dafür müssen diese lediglich als zugelassene Datenwerte hinterlegt sein. Die jeweilige Ausgabe ist dann entweder ein positiver oder ein negativer Wert, je nachdem, ob der Zeitraum chronologisch abgefragt wird oder nicht.

Die Syntax von MySQL DATEDIFF

Die Syntax von MySQL DATEDIFF ist sehr einfach. Wenn Sie MySQL lernen möchten, merken Sie sich lediglich folgenden Befehl:

SELECT DATEDIFF ("Ausdruck1", "Ausdruck2")
bash

"Ausdruck1" ist dabei das erste Datum und "Ausdruck2" das zweite.

Beispiel für MySQL DATEDIFF

Anhand eines einfachen Beispiels können Sie schnell erkennen, wie MySQL DATEDIFF funktioniert:

SELECT DATEDIFF ("2022-01-27", "2022-01-17");
bash

Wenn Sie diesen Befehl ausführen, erhalten Sie als Ausgabe:

DATEDIFF ("2022-01-27", "2022-01-17")
10
bash

MySQL DATEDIFF bei längeren Zeitangaben

Auch bei längeren Zeitangaben funktioniert MySQL DATEDIFF und filtert lediglich die relevanten Informationen. Wenn Sie also jeweils Datum und Uhrzeit angeben, berücksichtigt MySQL DATEDIFF ausschließlich die beiden Datumsangaben. Das sieht beispielsweise so aus:

SELECT DATEDIFF ("2022-01-27 14:22:43", "2022-01-17 20:19:35");
bash

Die Ausgabe wäre in diesem Fall wieder „10“.

Beispiel für einen negativen Wert

Sie können MySQL DATEDIFF allerdings auch dann verwenden, wenn zuerst das frühere und dann das spätere Datum abgefragt wird. In diesem Fall erhalten Sie einen negativen Wert. Das sieht so aus:

SELECT DATEDIFF ("2022-01-01", "2022-01-30");
bash

Die Ausgabe lautet für dieses Beispiel wie folgt:

DATEDIFF ("2022-01-01", "2022-01-30")
-29
bash