sql >> Database >  >> RDS >> Sqlserver

3 manieren om het jaar uit een datum te extraheren in SQL Server (T-SQL)

Er zijn verschillende manieren om het jaar te retourneren vanaf een datum in SQL Server. Hier zijn er drie (of zijn het er vier?).

YEAR()

De meest voor de hand liggende methode is het gebruik van de YEAR() functie. Deze functie retourneert een geheel getal met het jaargedeelte van de opgegeven datum.

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

Resultaat:

2020

DATEPART()

Een andere manier om dit te doen is door de DATEPART() . te gebruiken functie. Net als bij de YEAR() functie, DATEPART() geeft het resultaat ook als een geheel getal terug.

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

Resultaat:

2020

Als alternatief kan het eerste argument yy . zijn of yyyy om hetzelfde resultaat te produceren.

FORMAT()

De FORMAT() functie is een beetje anders dan de vorige twee, omdat het het resultaat als een tekenreeks retourneert (nvarchar of null).

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

Resultaat:

2020

Kort jaar

De FORMAT() functie stelt u ook in staat om het korte jaar (d.w.z. yy) op te geven.

Voorbeeld:

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

Resultaat:

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

  1. 3 Methoden om MDF-bestanden te verbinden met SQL Server

  2. LOG() Functie in Oracle

  3. Alternatieve oplossing voor DCount en DLookup met MS SQL Server Backend

  4. Oracle SQL DATE-conversieprobleem met iBATIS via Java JDBC