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