Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So finden Sie den letzten Tag des Monats für ein bestimmtes Datum in MySQL

Problem:

Sie möchten das Datum des letzten Tages des Monats für ein Datum in einer MySQL-Datenbank abrufen.

Beispiel:

Unsere Datenbank hat eine Tabelle namens car_sales mit Daten in den Spalten id , make , model und sale_date .

id machen Modell Verkaufsdatum
1 Ford Ka 2019-02-01
2 Toyota Yaris 2019-08-15
3 Opel Corsa 22.06.2019

Geben Sie für jedes Auto die Marke und das Modell sowie den letzten Tag des Monats an, in dem das Auto verkauft wurde. (Der letzte Tag des Monats ist eine der Bedingungen der Transaktionsabrechnung.)

Lösung:

Wir verwenden den LAST_DAY() Funktion. Hier ist die Abfrage, die Sie schreiben würden:

SELECT make,
       model,
       LAST_DAY(sale_date) 
         AS  sale_last_day
FROM car_sales;

Hier ist das Ergebnis der Abfrage:

machen Modell sale_last_day
Ford Ka 28.02.2019
Toyota Yaris 2019-08-31
Opel Corsa 2019-06-30

Diskussion:

Verwenden Sie die Funktion LAST_DAY(), wenn Sie den letzten Tag des Monats für ein Datum in MySQL abrufen möchten. Diese Funktion akzeptiert ein Argument – ​​das Datum, entweder als Ausdruck, der einen Datums-/Datums-/Zeitstempelwert oder den Namen einer Datums-/Datums-/Zeitstempelspalte zurückgibt. In unserem Beispiel verwenden wir das sale_date Säule. Es ist vom Datum Datentyp.

LAST_DATE() gibt den letzten Tag des Monats eines bestimmten Datums zurück. In unserem Beispiel der letzte Tag des Monats, wenn der Ford Ka verkauft wurde ist „2019-02-28“; das Auto wurde am „01.02.2019“ verkauft, und der letzte Tag im Februar 2019 war „28.02.2019“.