Проблем:
Искате да получите датата на последния ден от месеца за дата в база данни на MySQL.
Пример:
Нашата база данни има таблица с име car_sales с данни в колоните id , make , model и sale_date .
| id | направи | модел | дата_на_продажба |
|---|---|---|---|
| 1 | Форд | Ка | 01.02.2019 |
| 2 | Тойота | Ярис | 15.08.2019 |
| 3 | Opel | Corsa | 22.06.2019 |
За всяка кола нека вземем марката и модела и последния ден от месеца, в който е продаден автомобилът. (Последният ден от месеца е един от условията за сетълмент на транзакцията.)
Решение:
Ще използваме LAST_DAY() функция. Ето заявката, която бихте написали:
SELECT make,
model,
LAST_DAY(sale_date)
AS sale_last_day
FROM car_sales;
Ето резултата от заявката:
| make | модел | sale_last_day |
|---|---|---|
| Форд | Ка | 28.02.2019 |
| Тойота | Ярис | 31.08.2019 |
| Opel | Corsa | 30.06.2019 |
Дискусия:
Използвайте функцията LAST_DAY(), ако искате да извлечете последния ден от месеца за дата в MySQL. Тази функция приема един аргумент – датата, или като израз, връщащ стойност за дата/дата и час, или името на колона дата/време/време. В нашия пример използваме sale_date колона. Това е на дата тип данни.
LAST_DATE() връща последния ден от месеца на дадена дата. В нашия пример последният ден от месеца, когато Ford Ka е продаден е „2019-02-28“; колата беше продадена на „2019-02-01“, а последният ден на февруари 2019 г. беше „2019-02-28“.