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'.