sql >> Databasteknik >  >> RDS >> Mysql

Hur man hittar den sista dagen i månaden för ett givet datum i MySQL

Problem:

Du vill ha datumet för den sista dagen i månaden för ett datum i en MySQL-databas.

Exempel:

Vår databas har en tabell som heter car_sales med data i kolumnerna id , make , model och sale_date .

id göra modell sale_date
1 Ford Ka 2019-02-01
2 Toyota Yaris 2019-08-15
3 Opel Corsa 2019-06-22

För varje bil, låt oss få märke och modell och den sista dagen i månaden då bilen såldes. (Den sista dagen i månaden är en av villkoren för transaktionsavvecklingen.)

Lösning:

Vi använder LAST_DAY() fungera. Här är frågan du skulle skriva:

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

Här är resultatet av frågan:

make modell rea_senaste_dagen
Ford Ka 2019-02-28
Toyota Yaris 2019-08-31
Opel Corsa 2019-06-30

Diskussion:

Använd funktionen LAST_DAY() om du vill hämta den sista dagen i månaden för ett datum i MySQL. Den här funktionen tar ett argument – ​​datumet, antingen som ett uttryck som returnerar ett datum/datum/tidsstämpelvärde eller namnet på en kolumn för datum/datum/tidsstämpel. I vårt exempel använder vi sale_date kolumn. Det är av datumet datatyp.

LAST_DATE() returnerar den sista dagen i månaden av ett givet datum. I vårt exempel, den sista dagen i månaden då Ford Ka såldes är '2019-02-28'; bilen såldes "2019-02-01", och den sista dagen i februari 2019 var "2019-02-28".


  1. Identifiera materialstycksstrukturen (BOM) i databaser

  2. Installera Laravel på en Mac php artisan migreringsfel:Ingen sådan fil eller katalog

  3. Uppdatera flera kolumner i SQL

  4. Varför kraschade min MySQL-databas? Få insikter med den nya MySQL Freeze Frame