Probleem:
U wilt de maand uit een datum/datum/tijd-kolom in een MySQL-database halen.
Voorbeeld:
Onze database heeft een tabel met de naam apartment_rental
met gegevens in de kolommen id
, address
, floor
, en start_date
.
id | adres | verdieping | startdatum |
---|---|---|---|
1 | 700 Oak Street | 2 | 2019-03-20 |
2 | 295 Hoofdstraat | 3 | 31-05-2019 |
3 | 506 rijksweg | 1 | 03-01-2019 |
4 | 3949 Route 31 | 1 | 2019-02-01 |
Vraag voor elk beschikbaar appartement het adres, de verdieping en de maand waarin het beschikbaar is. Ontvang alleen de maand vanaf de start_date
kolom.
Oplossing:
We gebruiken de MONTH()
functie. Dit is de vraag die je zou schrijven:
SELECT address, floor, MONTH(start_date) AS start_month FROM apartment_rental;
Dit is het resultaat van de zoekopdracht:
adres | verdieping | start_maand |
---|---|---|
700 Oak Street | 2 | 3 |
295 Hoofdstraat | 3 | 5 |
506 rijksweg | 1 | 1 |
3949 Route 31 | 1 | 2 |
Discussie:
Gebruik de MONTH()
functie om een maand op te halen uit een kolom datum/datum/tijdstempel in MySQL. Voor deze functie is slechts één argument nodig:ofwel een expressie die een waarde voor datum/datum/tijdstempel retourneert, ofwel de naam van een kolom voor datum/datum/tijdstempel. (In ons voorbeeld gebruiken we de start_date
kolom van datum gegevenstype).
MONTH()
geeft de maand terug als een geheel getal van 1 tot 12 (1 is januari en 12 is december). In ons voorbeeld, het appartement op 700 Oak Street begint met huren in maand 3 omdat de startdatum '2019-03-20'
. is