I PostgreSQL, om du redan har en månads namn , men du vill konvertera det namnet till månadens nummer , kan du göra detta med EXTRACT()
funktion.
Exempel 1:Hela månadens namn
Här är ett grundläggande exempel på att konvertera ett månadsnamn till dess motsvarande månadsnummer.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
Resultat:
Month Number -------------- 12
Exempel 2:Kort månadsnamn
Det fungerar även på korta månadsnamn. I det här fallet förkortar du bara mallsträngen från 'Month'
till 'Mon'
(andra argumentet för TO_DATE()
funktion).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
Resultat:
Month Number -------------- 12
Exempel 3:Längre datum
Det fungerar även när du anger ett längre datum (inte bara månadsnamnet).
SELECT EXTRACT( MONTH FROM TO_DATE('December 20, 2020', 'Month') ) AS "Month Number";
Resultat:
Month Number -------------- 12
Exempel 4:Använda tidsstämpel
Här är ett exempel med TO_TIMESTAMP()
istället för TO_DATE()
.
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
Resultat:
Month Number -------------- 12