Você pode usar o
DAYOFMONTH()
função no MySQL para retornar o dia do mês de uma data. Por “dia do mês”, quero dizer um valor entre 1 e 31 (ou 0 para datas com parte do dia zero), em oposição ao dia da semana, como segunda-feira etc.
Por exemplo, se você fornecer uma data de 2018-01-07 , o
DAYOFMONTH()
a função retornará 7 . Sintaxe
A sintaxe fica assim:
DAYOFMONTH(date)
Onde
date
é o valor de data do qual você deseja que o dia do mês seja retornado. Exemplo
Aqui está um exemplo para demonstrar.
SELECT DAYOFMONTH('2020-06-18') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 18 | +--------+
Se a parte do dia tiver um zero à esquerda, o zero à esquerda será omitido do resultado. Exemplo:
SELECT DAYOFMONTH('2020-06-07') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 7 | +--------+
Um exemplo de banco de dados
Aqui está um exemplo de extração da parte do dia de uma coluna ao executar uma consulta em um banco de dados.
USE sakila; SELECT payment_date AS 'Date/Time', DAYOFMONTH(payment_date) AS 'Day of Month' FROM payment WHERE payment_id = 1;
Resultado:
+---------------------+--------------+ | Date/Time | Day of Month | +---------------------+--------------+ | 2005-05-25 11:30:37 | 25 | +---------------------+--------------+
Data/hora atual
Aqui está um exemplo de extração da parte do dia da data e hora atuais (que é retornada usando o
NOW()
função). SELECT NOW(), DAYOFMONTH(NOW());
Resultado:
+---------------------+-------------------+ | NOW() | DAYOFMONTH(NOW()) | +---------------------+-------------------+ | 2018-06-25 18:16:00 | 25 | +---------------------+-------------------+
Outra maneira de fazer isso é usar o
CURDATE()
função, que retorna apenas a data (mas não a hora). SELECT CURDATE(), DAYOFMONTH(CURDATE());
Resultado:
+------------+-----------------------+ | CURDATE() | DAYOFMONTH(CURDATE()) | +------------+-----------------------+ | 2018-06-25 | 25 | +------------+-----------------------+