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