PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Convertir le nom du mois en numéro de mois dans PostgreSQL

Dans PostgreSQL, si vous avez déjà un nom de mois , mais vous voulez convertir ce nom en mois nombre , vous pouvez le faire avec le EXTRACT() fonction.

Exemple 1 :Nom complet du mois

Voici un exemple basique de conversion d'un nom de mois en son numéro de mois correspondant.

SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";

Résultat :

 Month Number 
--------------
           12 

Exemple 2 :Nom du mois court

Cela fonctionne également sur les noms de mois courts. Dans ce cas, raccourcissez simplement la chaîne du modèle de 'Month' à 'Mon' (deuxième argument du TO_DATE() fonction).

SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";

Résultat :

 Month Number 
--------------
           12

Exemple 3 :Dates plus longues

Cela fonctionne également lorsque vous fournissez une date plus longue (pas seulement le nom du mois).

SELECT EXTRACT(
    MONTH FROM TO_DATE('December 20, 2020', 'Month')
    ) AS "Month Number";

Résultat :

 Month Number 
--------------
           12

Exemple 4 :Utilisation de l'horodatage

Voici un exemple utilisant TO_TIMESTAMP() au lieu de TO_DATE() .

SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";

Résultat :

 Month Number 
--------------
           12