Problem:
Du vill få årtalet från ett datumfält i en SQL Server-databas.
Exempel:
Vår databas har en tabell som heter Children
med data i kolumnerna Id
, FirstName
, LastName
och BirthDate
.
Id | Förnamn | Efternamn | Födelsedatum |
---|---|---|---|
1 | Jane | Smith | 2018-06-20 |
2 | Gary | Brun | 2010-02-02 |
3 | Lora | Adams | 2014-11-05 |
Låt oss ta årtalet från varje barns födelsedatum.
Lösning:
Vi använder YEAR()
fungera. Här är frågan du skulle skriva:
SELECT FirstName, LastName, YEAR(BirthDate) AS BirthYear FROM Children;
Här är resultatet av frågan:
Förnamn | Efternamn | Födelseår |
---|---|---|
Jane | Smith | 2018 |
Gary | Brun | 2010 |
Lora | Adams | 2014 |
Diskussion:
Använd SQL Servers YEAR()
funktion om du vill få årsdelen från ett datum. Den här funktionen tar bara ett argument – ett datum, i en av datatyperna för datum och tid eller datum. (I vårt exempel, kolumnen BirthDate
är ett datum data typ). Argumentet kan vara ett kolumnnamn eller ett uttryck. (I vårt exempel är argumentet BirthDate
kolumn.)
YEAR()
funktion returnerar ett heltal. För Jane Smith , returnerar det heltal 2018 från födelsedatumet '2018-06-20'
.