In MariaDB TO_DAYS()
ist eine eingebaute Datums- und Zeitfunktion, die die Anzahl der Tage ab Beginn des Standardkalenders (0000-00-00) basierend auf einem bestimmten Datum zurückgibt.
Sie übergeben das Datum an die Funktion, wenn Sie sie aufrufen.
Die TO_DAYS()
Funktion ist das Gegenteil von FROM_DAYS()
Funktion.
Syntax
Die Syntax lautet wie folgt:
TO_DAYS(date)
Wobei date
ist das Datum, für das die Anzahl der Tage seit 0000-00-00 zurückgegeben werden soll.
Beispiel
Hier ist ein Beispiel:
SELECT TO_DAYS('2028-12-31');
Ergebnis:
+-----------------------+ | TO_DAYS('2028-12-31') | +-----------------------+ | 741077 | +-----------------------+
Basierend auf dem heutigen Datum
Hier ist ein Beispiel, das NOW()
verwendet um die Anzahl der Tage zwischen 0000-00-00 und heute zurückzugeben:
SELECT
NOW(),
TO_DAYS(NOW());
Ergebnis:
+---------------------+----------------+ | NOW() | TO_DAYS(NOW()) | +---------------------+----------------+ | 2021-05-23 09:56:45 | 738298 | +---------------------+----------------+
Ungültige Argumente
Wenn ein ungültiges Argument übergeben wird, TO_DAYS()
gibt NULL
zurück mit einer Warnung:
SELECT TO_DAYS('Oops!');
Ergebnis:
+------------------+ | TO_DAYS('Oops!') | +------------------+ | NULL | +------------------+ 1 row in set, 1 warning (0.000 sec)
Überprüfen Sie die Warnung:
SHOW WARNINGS;
Ergebnis:
+---------+------+-----------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------+ | Warning | 1292 | Incorrect datetime value: 'Oops!' | +---------+------+-----------------------------------+
Fehlendes Argument
Aufruf von TO_DAYS()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT TO_DAYS();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
Und noch ein Beispiel:
SELECT TO_DAYS( '2028-12-31', '2029-12-31' );
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TO_DAYS'
Prägregorianischer Kalender
Die TO_DAYS()
Die Funktion ist nicht für die Verwendung mit Datumsangaben vor dem Aufkommen des gregorianischen Kalenders (der im Oktober 1582 eingeführt wurde) vorgesehen. Die Ergebnisse sind nicht zuverlässig, da sie die verlorenen Tage nicht berücksichtigen, als der Kalender vom Julianischen Kalender geändert wurde.