TSQL zapewnia DATEPART()
funkcja, która umożliwia nam zwrócenie dnia w roku dla podanej daty w SQL Serverze.
Przez „dzień roku” rozumiem numer dnia danego roku.
Przykład
Aby zwrócić dzień roku, użyj dayofyear
jako wartość pierwszego argumentu.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(dayofyear, @date);
Wynik:
299
Alternatywne argumenty
Alternatywnie możesz użyć dy
lub y
jako wartości pierwszego argumentu. Wszystkie zwracają to samo wyjście.
DECLARE @date date = '2020-12-31';
SELECT
DATEPART(dayofyear, @date) AS dayofyear,
DATEPART(dy, @date) AS dy,
DATEPART(y, @date) AS y;
Wynik:
+-------------+------+-----+ | dayofyear | dy | y | |-------------+------+-----| | 366 | 366 | 366 | +-------------+------+-----+
W tym przypadku data przypada na rok przestępny.