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' .