Има няколко начина да върнете годината от дата в SQL Server. Ето три (или са четири?).
YEAR()
Най-очевидният метод е да използвате YEAR() функция. Тази функция връща цяло число с частта от годината на посочената дата.
DECLARE @date date = '2020-10-25';
SELECT YEAR(@date); Резултат:
2020
DATEPART()
Друг начин да го направите е да използвате DATEPART() функция. Както при YEAR() функция, DATEPART() също връща резултата като цяло число.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date); Резултат:
2020
Като алтернатива, първият аргумент може да бъде yy или yyyy за да получите същия резултат.
FORMAT()
FORMAT() функцията е малко по-различна от предишните две, защото връща резултата си като низ (nvarchar или нула).
DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy'); Резултат:
2020
Кратка година
FORMAT() функцията също така ви позволява да предоставите кратката година (т.е. yy).
Пример:
DECLARE @date date = '1979-10-25'
SELECT
FORMAT(@date, 'yyyy') AS [yyyy],
FORMAT(@date, 'yy') AS [yy]; Резултат:
+--------+------+ | yyyy | yy | |--------+------| | 1979 | 79 | +--------+------+