Problema:
Você gostaria de obter a data do último dia do mês para uma data em um banco de dados MySQL.
Exemplo:
Nosso banco de dados tem uma tabela chamada
car_sales com dados nas colunas id , make , model e sale_date . | id | fazer | modelo | data_venda |
|---|---|---|---|
| 1 | Ford | K | 2019-02-01 |
| 2 | Toyota | Yaris | 2019-08-15 |
| 3 | Opel | Corsa | 22-06-2019 |
Para cada carro, vamos obter a marca e o modelo e o último dia do mês em que o carro foi vendido. (O último dia do mês é um dos termos da liquidação da transação.)
Solução:
Usaremos o
LAST_DAY() função. Aqui está a consulta que você escreveria:
SELECT make,
model,
LAST_DAY(sale_date)
AS sale_last_day
FROM car_sales;
Segue o resultado da consulta:
| fazer | modelo | sale_last_day |
|---|---|---|
| Ford | K | 28-02-2019 |
| Toyota | Yaris | 31-08-2019 |
| Opel | Corsa | 30-06-2019 |
Discussão:
Use a função LAST_DAY() se quiser recuperar o último dia do mês para uma data no MySQL. Esta função recebe um argumento – a data, seja como uma expressão que retorna um valor de data/data/hora/carimbo de data/hora ou o nome de uma coluna de data/data/hora/carimbo de data/hora. Em nosso exemplo, usamos o
sale_date coluna. É da data tipo de dados. LAST_DATE() retorna o último dia do mês de uma determinada data. Em nosso exemplo, o último dia do mês em que o Ford Ka foi vendido é '2019-02-28'; o carro foi vendido em '2019-02-01' e o último dia de fevereiro de 2019 foi '2019-02-28'.