TSQL poskytuje DATEPART()
funkce, která nám umožňuje vrátit den v roce pro dané datum v SQL Serveru.
„Dnem v roce“ rozumím číslo dne daného roku.
Příklad
Chcete-li vrátit den v roce, použijte dayofyear
jako hodnotu pro první argument.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(dayofyear, @date);
Výsledek:
299
Alternativní argumenty
Případně můžete použít dy
nebo y
jako hodnoty pro první argument. Všechny vrátí stejný výstup.
DECLARE @date date = '2020-12-31';
SELECT
DATEPART(dayofyear, @date) AS dayofyear,
DATEPART(dy, @date) AS dy,
DATEPART(y, @date) AS y;
Výsledek:
+-------------+------+-----+ | dayofyear | dy | y | |-------------+------+-----| | 366 | 366 | 366 | +-------------+------+-----+
V tomto případě datum připadá na přestupný rok.