Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

3 maneiras de extrair o ano de uma data no SQL Server (T-SQL)


Existem várias maneiras de retornar o ano de uma data no SQL Server. Aqui estão três (ou são quatro?).

YEAR()


O método mais óbvio é usar o YEAR() função. Esta função retorna um inteiro com a parte do ano da data especificada.
DECLARE @date date = '2020-10-25';
SELECT YEAR(@date);

Resultado:
2020

DATEPART()


Outra maneira de fazer isso é usar o DATEPART() função. Assim como o YEAR() função, DATEPART() também retorna o resultado como um inteiro.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date);

Resultado:
2020

Alternativamente, o primeiro argumento pode ser yy ou yyyy para produzir o mesmo resultado.

FORMAT()


O FORMAT() é um pouco diferente das duas anteriores, pois retorna seu resultado como uma string (nvarchar ou nulo).
DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy');

Resultado:
2020

Ano Curto


O FORMAT() A função também permite fornecer o ano curto (ou seja, aa).

Exemplo:
DECLARE @date date = '1979-10-25'
SELECT 
  FORMAT(@date, 'yyyy') AS [yyyy],
  FORMAT(@date, 'yy') AS [yy];

Resultado:
+--------+------+
 | yyyy   | yy   |
 |--------+------|
 | 1979   | 79   |
 +--------+------+