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.