No MySQL, o
MONTHNAME()
função retorna o nome do mês de uma data. Por exemplo, se você fornecer uma data de 2021-12-07 , o
MONTHNAME()
a função retornará dezembro . Sintaxe
A sintaxe fica assim:
MONTHNAME(date)
Onde
date
é o valor de data do qual você deseja que o nome do mês seja retornado. Exemplo
Aqui está um exemplo para demonstrar.
SELECT MONTHNAME('2021-12-07') AS 'Result';
Resultado:
+----------+ | Result | +----------+ | December | +----------+
Um exemplo de banco de dados
Neste exemplo, extraio o nome do mês de uma coluna ao executar uma consulta em um banco de dados.
USE sakila; SELECT payment_date AS 'Date/Time', MONTHNAME(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Resultado:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | May | +---------------------+-------+
Data/hora atual
Aqui está um exemplo de extração do nome do mês da data e hora atuais (que é retornada usando o
NOW()
função). SELECT NOW(), MONTHNAME(NOW());
Resultado:
+---------------------+------------------+ | NOW() | MONTHNAME(NOW()) | +---------------------+------------------+ | 2018-06-29 15:19:48 | June | +---------------------+------------------+
Outra maneira de fazer isso é usar o
CURDATE()
função, que retorna apenas a data (mas não a hora). SELECT CURDATE(), MONTHNAME(CURDATE());
Resultado:
+------------+----------------------+ | CURDATE() | MONTHNAME(CURDATE()) | +------------+----------------------+ | 2018-06-29 | June | +------------+----------------------+
Localidade
O idioma usado para o nome do mês é controlado pelo
lc_time_names
variável do sistema. Aqui está um exemplo de como alterar o valor dessa variável e, em seguida, executar MONTHNAME()
novamente. SET lc_time_names = 'es_CL'; SELECT MONTHNAME('2021-12-07') AS 'Result';
Resultado:
+-----------+ | Result | +-----------+ | diciembre | +-----------+
Neste exemplo, alterei os
lc_time_names
para es_CL
que significa Espanhol – Chile .