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