Det finns flera sätt att returnera året från ett datum i SQL Server. Här är tre (eller är det fyra?).
YEAR()
Den mest uppenbara metoden är att använda YEAR()
fungera. Denna funktion returnerar ett heltal med årsdelen av det angivna datumet.
DECLARE @date date = '2020-10-25';
SELECT YEAR(@date);
Resultat:
2020
DATEPART()
Ett annat sätt att göra det är att använda DATEPART()
fungera. Som med YEAR()
funktion, DATEPART()
returnerar också resultatet som ett heltal.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date);
Resultat:
2020
Alternativt kan det första argumentet vara yy
eller yyyy
för att ge samma resultat.
FORMAT()
FORMAT()
funktion skiljer sig lite från de två föregående, eftersom den returnerar sitt resultat som en sträng (nvarchar eller null).
DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy');
Resultat:
2020
Kort år
FORMAT()
Med funktionen kan du också ange det korta året (dvs. åå).
Exempel:
DECLARE @date date = '1979-10-25'
SELECT
FORMAT(@date, 'yyyy') AS [yyyy],
FORMAT(@date, 'yy') AS [yy];
Resultat:
+--------+------+ | yyyy | yy | |--------+------| | 1979 | 79 | +--------+------+