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

Converter o nome do mês para o número do mês no PostgreSQL


No PostgreSQL, se você já tem um mês nome , mas você deseja converter esse nome para o mês número , você pode fazer isso com o EXTRACT() função.


Exemplo 1:nome completo do mês


Aqui está um exemplo básico de conversão de um nome de mês para seu número de mês correspondente.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";

Resultado:
 Month Number 
--------------
           12 

Exemplo 2:nome curto do mês


Também funciona em nomes de meses curtos. Nesse caso, apenas encurte a string do modelo de 'Month' para 'Mon' (segundo argumento do TO_DATE() função).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";

Resultado:
 Month Number 
--------------
           12

Exemplo 3:datas mais longas


Também funciona quando você fornece uma data mais longa (não apenas o nome do mês).
SELECT EXTRACT(
    MONTH FROM TO_DATE('December 20, 2020', 'Month')
    ) AS "Month Number";

Resultado:
 Month Number 
--------------
           12

Exemplo 4:usando carimbo de data/hora


Aqui está um exemplo usando TO_TIMESTAMP() em vez de TO_DATE() .
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";

Resultado:
 Month Number 
--------------
           12