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 | +--------+------+