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.