Esistono diversi modi per restituire l'anno da una data in SQL Server. Eccone tre (o sono quattro?).
YEAR()
Il metodo più ovvio è usare YEAR()
funzione. Questa funzione restituisce un numero intero con la parte dell'anno della data specificata.
DECLARE @date date = '2020-10-25';
SELECT YEAR(@date);
Risultato:
2020
DATEPART()
Un altro modo per farlo è usare DATEPART()
funzione. Come con YEAR()
funzione, DATEPART()
restituisce anche il risultato come numero intero.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date);
Risultato:
2020
In alternativa, il primo argomento può essere yy
o yyyy
per produrre lo stesso risultato.
FORMAT()
Il FORMAT()
funzione è leggermente diversa dalle due precedenti, perché restituisce il risultato come una stringa (nvarchar o nullo).
DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy');
Risultato:
2020
Anno breve
Il FORMAT()
la funzione ti consente anche di fornire l'anno breve (cioè yy).
Esempio:
DECLARE @date date = '1979-10-25'
SELECT
FORMAT(@date, 'yyyy') AS [yyyy],
FORMAT(@date, 'yy') AS [yy];
Risultato:
+--------+------+ | yyyy | yy | |--------+------| | 1979 | 79 | +--------+------+