PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Obter o nome do mês de uma data no PostgreSQL


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