Istnieje kilka sposobów na zwrócenie roku od daty w SQL Server. Oto trzy (a może cztery?).
YEAR()
Najbardziej oczywistą metodą jest użycie YEAR() funkcjonować. Ta funkcja zwraca liczbę całkowitą z częścią roku podanej daty.
DECLARE @date date = '2020-10-25';
SELECT YEAR(@date); Wynik:
2020
DATEPART()
Innym sposobem na to jest użycie DATEPART() funkcjonować. Podobnie jak w przypadku YEAR() funkcja, DATEPART() zwraca również wynik jako liczbę całkowitą.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date); Wynik:
2020
Alternatywnie, pierwszym argumentem może być yy lub yyyy aby uzyskać ten sam wynik.
FORMAT()
FORMAT() funkcja jest nieco inna niż poprzednie dwie, ponieważ zwraca wynik w postaci ciągu (nvarchar lub null).
DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy'); Wynik:
2020
Krótki rok
FORMAT() funkcja umożliwia również podanie krótkiego roku (tj. rr).
Przykład:
DECLARE @date date = '1979-10-25'
SELECT
FORMAT(@date, 'yyyy') AS [yyyy],
FORMAT(@date, 'yy') AS [yy]; Wynik:
+--------+------+ | yyyy | yy | |--------+------| | 1979 | 79 | +--------+------+