Има няколко начина да върнете годината от дата в 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 | +--------+------+