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

FROM_DAYS() Beispiele – MySQL

In MySQL der FROM_DAYS() Die Funktion gibt einen Datumswert basierend auf der als Argument angegebenen Anzahl von Tagen zurück.

Dieser Artikel enthält Beispiele zur Veranschaulichung.

Syntax

Die Syntax lautet wie folgt:

FROM_DAYS(N)

Wobei N ist die Anzahl der Tage ab dem Tag 0 .

Beispiel

Hier ist ein Beispiel zur Veranschaulichung.

SELECT FROM_DAYS(366);

Ergebnis:

+----------------+
| FROM_DAYS(366) |
+----------------+
| 0001-01-01     |
+----------------+

Beachten Sie jedoch, 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.

Hier ist ein Beispiel mit einem späteren Datum:

SELECT FROM_DAYS(645000);

Ergebnis:

+-------------------+
| FROM_DAYS(645000) |
+-------------------+
| 1765-12-13        |
+-------------------+

Und wieder zu einem späteren Zeitpunkt:

SELECT FROM_DAYS(745000);

Ergebnis:

+-------------------+
| FROM_DAYS(745000) |
+-------------------+
| 2039-09-28        |
+-------------------+

FROM_DAYS() vs. TO_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 ).