Problem:
Du vil gerne hente året fra en dato/dato/klokkeslæt-kolonne i en MySQL-database.
Eksempel:
Vores database har en tabel ved navn conference med data i kolonnerne id , name , og start_datetime .
| id | navn | start_datotid |
|---|---|---|
| 1 | Social Media World | 2019-02-20 14:15:34 |
| 2 | Mobilverden 2017 | 2017-08-31 20:10:14 |
| 3 | Elektronikshow | 2018-04-03 10:05:45 |
| 4 | Tech Asia 2019 | 2019-01-01 12:47:54 |
Lad os få dens navn og årstal for hver konference. Vi skal have kun året fra start_datetime kolonne.
Løsning:
Vi bruger YEAR() fungere. Her er den forespørgsel, du ville skrive:
SELECT name,
YEAR(start_datetime)
AS year_of_conference
FROM conference;
Her er resultatet af forespørgslen:
| navn | års_af_konference |
|---|---|
| Social Media World | 2019 |
| Mobilverden 2017 | 2017 |
| Elektronikshow | 2018 |
| Tech Asia 2019 | 2019 |
Diskussion:
Brug YEAR() funktion til at hente årsværdien fra en dato/datotid/tidsstempelkolonne i MySQL. Denne funktion tager kun ét argument – en dato eller dato og klokkeslæt. Dette kan være navnet på en dato/datotid/tidsstempelkolonne eller et udtryk, der returnerer en af disse datatyper. (I vores eksempel er det kolonnen start_datetime af datodatatypen.)
YEAR() returnerer året som et heltal fra 1000 til 9999. 'Social Media World' konferencens startdato er '2019-02-20 14:15:34' , så YEAR() returnerede '2019' for denne rekord.