sql >> Base de Datos >  >> RDS >> PostgreSQL

Convertir nombre de mes a número de mes en PostgreSQL

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