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