En PostgreSQL, si ya tiene un mes nombre , pero desea convertir ese nombre al mes number , puedes hacer esto con EXTRACT() función.
Ejemplo 1:Nombre completo del mes
Este es un ejemplo básico de cómo convertir el nombre de un mes a su número de mes correspondiente.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
Resultado:
Month Number
--------------
12
Ejemplo 2:Nombre de mes corto
También funciona con nombres de meses cortos. En este caso, simplemente acorte la cadena de plantilla de 'Month' a 'Mon' (segundo argumento del TO_DATE() función).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
Resultado:
Month Number
--------------
12
Ejemplo 3:Fechas más largas
También funciona cuando proporciona una fecha más larga (no solo el nombre del mes).
SELECT EXTRACT(
MONTH FROM TO_DATE('December 20, 2020', 'Month')
) AS "Month Number";
Resultado:
Month Number
--------------
12
Ejemplo 4:uso de la marca de tiempo
Aquí hay un ejemplo usando TO_TIMESTAMP() en lugar de TO_DATE() .
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
Resultado:
Month Number
--------------
12