Problema:
Você gostaria de obter o mês de uma coluna de data/data e hora em um banco de dados MySQL.
Exemplo:
Nosso banco de dados tem uma tabela chamada
apartment_rental
com dados nas colunas id
, address
, floor
e start_date
. id | endereço | andar | data_inicial |
---|---|---|---|
1 | 700 Oak Street | 2 | 20-03-2019 |
2 | Rua principal 295 | 3 | 31-05-2019 |
3 | Estrada Estadual 506 | 1 | 2019-01-03 |
4 | 3949 Rota 31 | 1 | 2019-02-01 |
Para cada apartamento disponível, obtenha o endereço, o andar e o mês em que está disponível. Receba somente o mês do
start_date
coluna. Solução:
Usaremos o
MONTH()
função. Aqui está a consulta que você escreveria:SELECT address, floor, MONTH(start_date) AS start_month FROM apartment_rental;
Segue o resultado da consulta:
endereço | andar | início_mês |
---|---|---|
700 Oak Street | 2 | 3 |
Rua principal 295 | 3 | 5 |
Estrada Estadual 506 | 1 | 1 |
3949 Rota 31 | 1 | 2 |
Discussão:
Use o
MONTH()
função para recuperar um mês de uma coluna date/datetime/timestamp no MySQL. Esta função recebe apenas um argumento – uma expressão que retorna um valor de data/datahora/ timestamp ou o nome de uma coluna de data/datahora/timestamp. (Em nosso exemplo, usamos o start_date
coluna de data tipo de dados). MONTH()
retorna o mês como um inteiro de 1 a 12 (1 é janeiro e 12 é dezembro). Em nosso exemplo, o apartamento na 700 Oak Street começará a alugar no mês 3 porque sua data de início é '2019-03-20'