sql >> Database >  >> RDS >> PostgreSQL

Converteer maandnaam naar maandnummer in PostgreSQL

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

  1. Hoe leeftijd te berekenen in MariaDB

  2. Langzaam LEFT JOIN op CTE met tijdsintervallen

  3. Prestatiemeteritems bewaken via PERFMON | Problemen met SQL Server-prestaties oplossen -3

  4. SQL-query om de meest recente rij te krijgen voor elke instantie van een bepaalde sleutel