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