Probleem:
U wilt het jaar uit een datum/datum/tijd-kolom in een MySQL-database halen.
Voorbeeld:
Onze database heeft een tabel met de naam conference
met gegevens in de kolommen id
, name
, en start_datetime
.
id | naam | start_datetime |
---|---|---|
1 | Social Media Wereld | 2019-02-20 14:15:34 |
2 | Mobiele Wereld 2017 | 31-08-2017 20:10:14 |
3 | Elektronicashow | 2018-04-03 10:05:45 |
4 | Tech Azië 2019 | 2019-01-01 12:47:54 |
Laten we voor elke conferentie de naam en het jaar krijgen. We hebben alleen . nodig het jaar vanaf de start_datetime
kolom.
Oplossing:
We gebruiken de YEAR()
functie. Dit is de vraag die je zou schrijven:
SELECT name, YEAR(start_datetime) AS year_of_conference FROM conference;
Dit is het resultaat van de zoekopdracht:
naam | year_of_conference |
---|---|
Social Media Wereld | 2019 |
Mobiele Wereld 2017 | 2017 |
Elektronicashow | 2018 |
Tech Azië 2019 | 2019 |
Discussie:
Gebruik de YEAR()
functie om de jaarwaarde op te halen uit een datum/datum/tijdstempelkolom in MySQL. Voor deze functie is slechts één argument nodig:een datum of datum en tijd. Dit kan de naam zijn van een datum/datum/tijdstempel-kolom of een expressie die een van die gegevenstypen retourneert. (In ons voorbeeld is dit de kolom start_datetime
van het datumgegevenstype.)
YEAR()
geeft het jaar terug als een geheel getal van 1000 tot 9999. De 'Social Media World' de startdatum van de conferentie is '2019-02-20 14:15:34'
, dus YEAR()
geretourneerde '2019'
voor dit record.