W MySQL możesz użyć TO_DAYS() funkcja, aby dowiedzieć się, ile dni minęło od dnia 0 na konkretną datę. Na przykład możesz przekazać dzisiejszą datę do tej funkcji, a zwróci ona, ile dni minęło od dnia 0 .
Ten artykuł zawiera przykłady do zademonstrowania.
Składnia
Składnia wygląda tak:
TO_DAYS(date)
Gdzie date to data do wykorzystania w obliczeniach.
Przykład
Oto przykład do zademonstrowania.
SELECT TO_DAYS('1999-12-31');
Wynik:
+-----------------------+
| TO_DAYS('1999-12-31') |
+-----------------------+
| 730484 |
+-----------------------+
Zauważ, że dokumentacja MySQL informuje, że ta funkcja nie jest przeznaczona do użycia z wartościami, które poprzedzają nadejście kalendarza gregoriańskiego (1582). Dzieje się tak, ponieważ nie uwzględnia dni, które zostały utracone podczas zmiany kalendarza.
Przykład 2 – Aktualna data
Oto przykład z wykorzystaniem aktualnej daty.
SELECT
CURDATE(),
TO_DAYS(CURDATE());
Wynik:
+------------+--------------------+ | CURDATE() | TO_DAYS(CURDATE()) | +------------+--------------------+ | 2018-06-26 | 737236 | +------------+--------------------+
Najpierw używam CURDATE() funkcji, aby zwrócić bieżącą datę, następnie przekazuję tę funkcję do funkcji TO_DAYS() funkcja zwracająca liczbę dni, które upłynęły od dnia 0 .
TO_DAYS() kontra FROM_DAYS()
FROM_DAYS() funkcja jest przeciwieństwem TO_DAYS() , który po podaniu daty daty zwraca numer dnia. Oto przykład demonstrujący związek między tymi dwiema funkcjami:
SELECT
CURDATE(),
TO_DAYS(CURDATE()),
FROM_DAYS(TO_DAYS(CURDATE()));
Wynik:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Więc w tym przykładzie używam TO_DAYS() aby zwrócić liczbę dni od aktualnej daty. Następnie używam FROM_DAYS() aby zwrócić datę z tej wartości (która, zgodnie z oczekiwaniami, wraca do pierwotnej wartości CURDATE() ).