sql >> Base de Datos >  >> RDS >> Sqlserver

3 formas de extraer el año de una fecha en SQL Server (T-SQL)

Hay varias formas de devolver el año a partir de una fecha en SQL Server. Aquí hay tres (¿o son cuatro?).

YEAR()

El método más obvio es usar el YEAR() función. Esta función devuelve un número entero con la parte del año de la fecha especificada.

DECLARE @date date = '2020-10-25';
SELECT YEAR(@date);

Resultado:

2020

DATEPART()

Otra forma de hacerlo es usar DATEPART() función. Al igual que con el YEAR() función, DATEPART() también devuelve el resultado como un número entero.

DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date);

Resultado:

2020

Alternativamente, el primer argumento puede ser yy o yyyy para producir el mismo resultado.

FORMAT()

El FORMAT() La función es un poco diferente a las dos anteriores, porque devuelve su resultado como una cadena (nvarchar o nulo).

DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy');

Resultado:

2020

Año Corto

El FORMAT() La función también le permite proporcionar el año corto (es decir, aa).

Ejemplo:

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

Resultado:

+--------+------+
 | yyyy   | yy   |
 |--------+------|
 | 1979   | 79   |
 +--------+------+