In PostgreSQL, als je al een maand name . hebt , maar u wilt die naam converteren naar het nummer van de maand , kunt u dit doen met de EXTRACT() functie.
Voorbeeld 1:volledige naam van de maand
Hier is een eenvoudig voorbeeld van het converteren van een maandnaam naar het bijbehorende maandnummer.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
Resultaat:
Month Number
--------------
12
Voorbeeld 2:Korte naam van de maand
Het werkt ook op korte maandnamen. In dit geval verkort u gewoon de sjabloontekenreeks van 'Month' tot 'Mon' (tweede argument van de TO_DATE() functie).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
Resultaat:
Month Number
--------------
12
Voorbeeld 3:Langere datums
Het werkt ook als u een langere datum opgeeft (niet alleen de naam van de maand).
SELECT EXTRACT(
MONTH FROM TO_DATE('December 20, 2020', 'Month')
) AS "Month Number";
Resultaat:
Month Number
--------------
12
Voorbeeld 4:Tijdstempel gebruiken
Hier is een voorbeeld met TO_TIMESTAMP() in plaats van TO_DATE() .
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
Resultaat:
Month Number
--------------
12