Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como encontrar o último dia do mês para uma determinada data no MySQL

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