Probleem:
U wilt de datum van de laatste dag van de maand voor een datum in een MySQL-database.
Voorbeeld:
Onze database heeft een tabel met de naam car_sales
met gegevens in de kolommen id
, make
, model
, en sale_date
.
id | maak | model | sale_date |
---|---|---|---|
1 | Ford | Ka | 2019-02-01 |
2 | Toyota | Yaris | 2019-08-15 |
3 | Opel | Corsa | 2019-06-22 |
Laten we voor elke auto het merk en model krijgen en de laatste dag van de maand waarin de auto is verkocht. (De laatste dag van de maand is een van de voorwaarden van de transactievereffening.)
Oplossing:
We gebruiken de LAST_DAY()
functie. Dit is de vraag die je zou schrijven:
SELECT make, model, LAST_DAY(sale_date) AS sale_last_day FROM car_sales;
Dit is het resultaat van de zoekopdracht:
maken | model | sale_last_day |
---|---|---|
Ford | Ka | 28-02-2019 |
Toyota | Yaris | 31-08-2019 |
Opel | Corsa | 2019-06-30 |
Discussie:
Gebruik de functie LAST_DAY() als u de laatste dag van de maand voor een datum in MySQL wilt ophalen. Deze functie heeft één argument nodig:de datum, ofwel als een expressie die een datum/datum/tijdstempelwaarde retourneert, ofwel de naam van een datum/datum/tijdstempelkolom. In ons voorbeeld gebruiken we de sale_date
kolom. Het is van de datum gegevenstype.
LAST_DATE() retourneert de laatste dag van de maand van een bepaalde datum. In ons voorbeeld, de laatste dag van de maand waarop de Ford Ka werd verkocht is ‘2019-02-28’; de auto verkocht op '2019-02-01', en de laatste dag van februari 2019 was '2019-02-28'.