W MySQL funkcja FROM_DAYS()
funkcja zwraca wartość daty na podstawie liczby dni podanych jako argument.
Ten artykuł zawiera przykłady do zademonstrowania.
Składnia
Składnia wygląda tak:
FROM_DAYS(N)
Gdzie N
to liczba dni od dnia 0 .
Przykład
Oto przykład do zademonstrowania.
SELECT FROM_DAYS(366);
Wynik:
+----------------+ | FROM_DAYS(366) | +----------------+ | 0001-01-01 | +----------------+
Należy jednak pamiętać, że dokumentacja MySQL informuje, że ta funkcja nie jest przeznaczona do użytku z wartościami, które poprzedzają nadejście kalendarza gregoriańskiego (1582).
Oto przykład z późniejszą datą:
SELECT FROM_DAYS(645000);
Wynik:
+-------------------+ | FROM_DAYS(645000) | +-------------------+ | 1765-12-13 | +-------------------+
I znowu późniejsza data:
SELECT FROM_DAYS(745000);
Wynik:
+-------------------+ | FROM_DAYS(745000) | +-------------------+ | 2039-09-28 | +-------------------+
FROM_DAYS() kontra TO_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()
).