Używając MySQL, możesz użyć MAKEDATE()
funkcja zwracająca datę z części roku i dnia roku.
Innymi słowy, podajesz dwa argumenty; jeden to rok, a drugi to dzień roku. MAKEDATE()
funkcja zwróci wartość daty na podstawie tych dwóch argumentów.
Składnia
Składnia wygląda tak:
MAKEDATE(year,dayofyear)
Gdzie year
to część roku, a dayofyear
to część dnia w roku.
Przykład 1 – Podstawowe użycie
Oto przykład do zademonstrowania.
SELECT MAKEDATE(2021,10);
Wynik:
+-------------------+ | MAKEDATE(2021,10) | +-------------------+ | 2021-01-10 | +-------------------+
Więc ponieważ 10
oznacza 10. dzień roku, oznacza to, że jest 10. stycznia.
Przykład 2 – Większa wartość dzienna
Oto przykład, w którym zastosowano większą wartość dnia w roku.
SELECT MAKEDATE(2021,350);
Wynik:
+--------------------+ | MAKEDATE(2021,350) | +--------------------+ | 2021-12-16 | +--------------------+
Tak więc w tym przypadku 350. dzień roku oznacza 16 grudnia.
Możesz również użyć wartości większych niż 365 (lub 366 dla lat przestępnych). Jeśli to zrobisz, wynik zostanie przesunięty do nowego roku kalendarzowego zgodnie z wymaganiami.
SELECT MAKEDATE(2021,500), MAKEDATE(2021,5000);
Wynik:
+--------------------+---------------------+ | MAKEDATE(2021,500) | MAKEDATE(2021,5000) | +--------------------+---------------------+ | 2022-05-15 | 2034-09-09 | +--------------------+---------------------+
Przykład 3 – lata przestępne
Podczas korzystania z tej funkcji pamiętaj o latach przestępnych.
SELECT MAKEDATE(2020,350), MAKEDATE(2021,350);
Wynik:
+--------------------+--------------------+ | MAKEDATE(2020,350) | MAKEDATE(2021,350) | +--------------------+--------------------+ | 2020-12-15 | 2021-12-16 | +--------------------+--------------------+
W tym przypadku rok 2020 to rok przestępny. A ponieważ luty ma dodatkowy dzień w latach przestępnych, wpływa to na wynik pozostałych wartości dnia w roku.
Przykład 4 – wartości zerowe
Jeśli podasz wartość zero, wynik to NULL
.
SELECT MAKEDATE(2020,0);
Wynik:
+------------------+ | MAKEDATE(2020,0) | +------------------+ | NULL | +------------------+