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

TO_DAYS() Beispiele – MySQL

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 ).