In PostgreSQL, se hai già un nome per un mese , ma vuoi convertire quel nome nel numero del mese , puoi farlo con EXTRACT() funzione.
Esempio 1:nome del mese intero
Ecco un esempio di base di conversione del nome di un mese nel numero del mese corrispondente.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
Risultato:
Month Number
--------------
12
Esempio 2:nome breve del mese
Funziona anche sui nomi dei mesi brevi. In questo caso, abbrevia la stringa del modello da 'Month' a 'Mon' (secondo argomento di TO_DATE() funzione).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
Risultato:
Month Number
--------------
12
Esempio 3:date più lunghe
Funziona anche quando fornisci una data più lunga (non solo il nome del mese).
SELECT EXTRACT(
MONTH FROM TO_DATE('December 20, 2020', 'Month')
) AS "Month Number";
Risultato:
Month Number
--------------
12
Esempio 4:utilizzo del timestamp
Ecco un esempio usando TO_TIMESTAMP() invece di TO_DATE() .
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
Risultato:
Month Number
--------------
12