As duas funções a seguir nos permitem obter o nome do mês de uma data no MySQL.
O MONTHNAME()
Função
O
MONTHNAME()
A função foi projetada especificamente para retornar o nome do mês de uma data. Para fazer isso, passe a data para a função ao chamá-la. O nome completo do mês é retornado. Exemplo:
SELECT MONTHNAME('2030-10-25');
Resultado:
October
O idioma usado para o nome do mês é controlado pelo valor de
lc_time_names
variável do sistema. Veja MONTHNAME()
Exemplos para um exemplo de como isso afeta a saída. Consulte também Como definir a localidade para a conexão atual no MySQL para obter mais informações. O DATE_FORMAT()
Função
O
DATE_FORMAT()
A função retorna uma determinada data em um formato especificado. Para usar esta função, especifique a data e o formato desejado ao chamar a função. Você pode retornar o nome completo do mês passando
%M
como a string de formato. Exemplo:
SELECT DATE_FORMAT('2030-12-25', '%M');
Resultado:
December
O idioma usado para o nome do mês é controlado pelo valor de
lc_time_names
variável do sistema. Nome abreviado do mês
Passando
%b
para o DATE_FORMAT()
A função retorna o nome curto do mês. Exemplo:
SELECT DATE_FORMAT('2030-12-25', '%b');
Resultado:
December
Isso pode ser replicado com o
MONTHNAME()
função usando LEFT()
para pegar os 3 primeiros caracteres do nome do mês. Exemplo:
SELECT LEFT(MONTHNAME('2030-12-25'), 3);
Resultado:
December
O mesmo conceito pode ser alcançado convertendo o resultado de
MONTHNAME()
para um tipo de dados de três caracteres com uma função como CAST()
. No entanto, embora essa abordagem funcione em
en_US
, pode nem sempre funcionar como esperado em outros idiomas. Por exemplo:SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
MONTHNAME('2030-12-25') AS "Full";
Resultado:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+