Existuje několik způsobů, jak vrátit rok z data na serveru SQL Server. Zde jsou tři (nebo jsou to čtyři?).
YEAR()
Nejviditelnější metodou je použití YEAR()
funkce. Tato funkce vrací celé číslo s částí roku zadaného data.
DECLARE @date date = '2020-10-25';
SELECT YEAR(@date);
Výsledek:
2020
DATEPART()
Dalším způsobem, jak to udělat, je použít DATEPART()
funkce. Stejně jako u YEAR()
funkce, DATEPART()
také vrátí výsledek jako celé číslo.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date);
Výsledek:
2020
Alternativně může být prvním argumentem yy
nebo yyyy
dosáhnout stejného výsledku.
FORMAT()
FORMAT()
funkce je trochu odlišná od předchozích dvou, protože vrací svůj výsledek jako řetězec (nvarchar nebo null).
DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy');
Výsledek:
2020
Krátký rok
FORMAT()
Funkce také umožňuje zadat krátký rok (tj. yy).
Příklad:
DECLARE @date date = '1979-10-25'
SELECT
FORMAT(@date, 'yyyy') AS [yyyy],
FORMAT(@date, 'yy') AS [yy];
Výsledek:
+--------+------+ | yyyy | yy | |--------+------| | 1979 | 79 | +--------+------+