Problem:
Du vil gerne hente året fra et datofelt i en SQL Server-database.
Eksempel:
Vores database har en tabel med navnet Children
med data i kolonnerne Id
, FirstName
, LastName
og BirthDate
.
Id | Fornavn | Efternavn | Fødselsdato |
---|---|---|---|
1 | Jane | Smith | 2018-06-20 |
2 | Gary | Brun | 2010-02-02 |
3 | Lora | Adams | 2014-11-05 |
Lad os få året fra hvert barns fødselsdato.
Løsning:
Vi bruger YEAR()
fungere. Her er den forespørgsel, du ville skrive:
SELECT FirstName, LastName, YEAR(BirthDate) AS BirthYear FROM Children;
Her er resultatet af forespørgslen:
Fornavn | Efternavn | Fødselsår |
---|---|---|
Jane | Smith | 2018 |
Gary | Brun | 2010 |
Lora | Adams | 2014 |
Diskussion:
Brug SQL Servers YEAR()
funktion, hvis du ønsker at få årsdelen fra en dato. Denne funktion tager kun ét argument – en dato, i en af dato- og klokkeslæts- eller datodatatyperne. (I vores eksempel er kolonnen BirthDate
er en dato datatype). Argumentet kan være et kolonnenavn eller et udtryk. (I vores eksempel er argumentet BirthDate
kolonne.)
YEAR()
funktion returnerer et heltal. Til Jane Smith , returnerer det heltal 2018 fra fødselsdatoen '2018-06-20'
.