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