In MySQL können Sie TO_DAYS()
verwenden Funktion, um herauszufinden, wie viele Tage seit Tag 0 vergangen sind für ein bestimmtes Datum. Sie können beispielsweise das heutige Datum an diese Funktion übergeben und sie gibt zurück, wie viele Tage seit Tag 0 vergangen sind .
Dieser Artikel enthält Beispiele zur Veranschaulichung.
Syntax
Die Syntax lautet wie folgt:
TO_DAYS(date)
Wobei date
ist das in der Berechnung zu verwendende Datum.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung.
SELECT TO_DAYS('1999-12-31');
Ergebnis:
+-----------------------+ | TO_DAYS('1999-12-31') | +-----------------------+ | 730484 | +-----------------------+
Beachten Sie, dass die MySQL-Dokumentation darauf hinweist, dass diese Funktion nicht für die Verwendung mit Werten vorgesehen ist, die vor der Einführung des gregorianischen Kalenders (1582) liegen. Dies liegt daran, dass die Tage, die verloren gegangen sind, als der Kalender geändert wurde, nicht berücksichtigt werden.
Beispiel 2 – Aktuelles Datum
Hier ist ein Beispiel mit dem aktuellen Datum.
SELECT CURDATE(), TO_DAYS(CURDATE());
Ergebnis:
+------------+--------------------+ | CURDATE() | TO_DAYS(CURDATE()) | +------------+--------------------+ | 2018-06-26 | 737236 | +------------+--------------------+
Zuerst verwende ich das CURDATE()
Funktion, um das aktuelle Datum zurückzugeben, dann übergebe ich diese Funktion an TO_DAYS()
Funktion, um die Anzahl der Tage zurückzugeben, die seit dem Tag 0 vergangen sind .
TO_DAYS() vs. FROM_DAYS()
Die FROM_DAYS()
Funktion ist das Gegenteil von TO_DAYS()
, die bei einem Datum date die Tagesnummer zurückgibt. Hier ist ein Beispiel, um die Beziehung zwischen diesen beiden Funktionen zu demonstrieren:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Ergebnis:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
In diesem Beispiel verwende ich also TO_DAYS()
um die Anzahl der Tage ab dem aktuellen Datum zurückzugeben. Ich verwende dann FROM_DAYS()
um das Datum von diesem Wert zurückzugeben (was sich wie erwartet wieder auf den ursprünglichen Wert von CURDATE()
auflöst ).