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