Se você estiver familiarizado com o PostgreSQL, você deve saber que pode usar o
EXTRACT()
e o DATE_PART()
funções para extrair o mês de uma data. Mas essas funções só permitem extrair o mês número . E se você precisar do mês nome ?
Você pode obter o nome do mês de uma data usando o
TO_CHAR()
função. Essa função retorna uma string com base no carimbo de data/hora e no padrão de modelo que você fornece como argumentos. Exemplo
Aqui está um exemplo rápido.
SELECT TO_CHAR(TIMESTAMP '2020-12-16 10:41:35', 'Month') AS "Month";
Resultado:
Month ----------- December
Nesse caso, especifiquei um padrão de modelo de
'Month'
, então isso fez com que o mês fosse retornado do valor do carimbo de data/hora. Minúsculas, maiúsculas e maiúsculas
Você pode retornar o mês em letras minúsculas, maiúsculas ou maiúsculas. Você determina qual pelo caso que você usa para o padrão de modelo (segundo argumento).
Aqui está um exemplo para demonstrar o que quero dizer.
SELECT TO_CHAR(current_timestamp, 'month') AS "month", TO_CHAR(current_timestamp, 'Month') AS "Month", TO_CHAR(current_timestamp, 'MONTH') AS "MONTH";
Resultado:
month | Month | MONTH -----------+-----------+----------- march | March | MARCH
Todos os resultados são preenchidos em branco com 9 caracteres, independentemente do caso usado.
Nome abreviado do mês
Você também pode especificar que o resultado seja formatado usando o nome curto do mês.
SELECT TO_CHAR(current_timestamp, 'mon') AS "mon", TO_CHAR(current_timestamp, 'Mon') AS "Mon", TO_CHAR(current_timestamp, 'MON') AS "MON";
Resultado:
mon | Mon | MON -----+-----+----- mar | Mar | MAR