Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

3 modi per estrarre l'anno da una data in SQL Server (T-SQL)

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