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