Probleem:
U wilt het jaartal uit een datumveld in een SQL Server-database halen.
Voorbeeld:
Onze database heeft een tabel met de naam Children
met gegevens in de kolommen Id
, FirstName
, LastName
, en BirthDate
.
Id | Voornaam | Achternaam | Geboortedatum |
---|---|---|---|
1 | Jane | Smith | 2018-06-20 |
2 | Gary | Bruin | 02-02-2010 |
3 | Lora | Adams | 05-11-2014 |
Laten we het jaar halen uit de geboortedatum van elk kind.
Oplossing:
We gebruiken de YEAR()
functie. Dit is de vraag die je zou schrijven:
SELECT FirstName, LastName, YEAR(BirthDate) AS BirthYear FROM Children;
Dit is het resultaat van de zoekopdracht:
Voornaam | Achternaam | Geboortejaar |
---|---|---|
Jane | Smith | 2018 |
Gary | Bruin | 2010 |
Lora | Adams | 2014 |
Discussie:
Gebruik YEAR()
van SQL Server functie als u het jaargedeelte uit een datum wilt halen. Deze functie heeft slechts één argument - een datum, in een van de datum- en tijd- of datumgegevenstypen. (In ons voorbeeld is de kolom BirthDate
is een datum data type). Het argument kan een kolomnaam of een uitdrukking zijn. (In ons voorbeeld is het argument de BirthDate
kolom.)
Het YEAR()
functie retourneert een geheel getal. Voor Jane Smith , het retourneert het gehele getal 2018 vanaf de geboortedatum '2018-06-20'
.