PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Konvertieren Sie den Monatsnamen in PostgreSQL in die Monatsnummer

In PostgreSQL, wenn Sie bereits einen Monats-Namen haben , aber Sie möchten diesen Namen in die Zahl des Monats umwandeln , können Sie dies mit EXTRACT() tun Funktion.

Beispiel 1:Vollständiger Monatsname

Hier ist ein einfaches Beispiel für die Umwandlung eines Monatsnamens in die entsprechende Monatsnummer.

SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";

Ergebnis:

 Month Number 
--------------
           12 

Beispiel 2:Kurzer Monatsname

Es funktioniert auch mit kurzen Monatsnamen. Kürzen Sie in diesem Fall einfach den Template-String von 'Month' zu 'Mon' (zweites Argument von TO_DATE() Funktion).

SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";

Ergebnis:

 Month Number 
--------------
           12

Beispiel 3:Längere Daten

Es funktioniert auch, wenn Sie ein längeres Datum angeben (nicht nur den Monatsnamen).

SELECT EXTRACT(
    MONTH FROM TO_DATE('December 20, 2020', 'Month')
    ) AS "Month Number";

Ergebnis:

 Month Number 
--------------
           12

Beispiel 4:Zeitstempel verwenden

Hier ist ein Beispiel mit TO_TIMESTAMP() statt TO_DATE() .

SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";

Ergebnis:

 Month Number 
--------------
           12