SQL Academy
Premium
Funktionsreferenz

TO_DATE

Entsprechung in MySQL:

Wandelt einen String anhand einer Formatvorlage in ein Datum um.

PostgreSQL 17.9
TO_DATE(string, format)
string
String mit einem Datum
text
format
Formatvorlage, zum Beispiel DD.MM.YYYY
text

Rückgabewert

Datum (date); Fehler, kein NULL, wenn sich ein Feld nicht lesen lässt oder das Datum nicht existiert

Beispiele

Datum aus Text mit Monatsnamen

PostgreSQL 17.9
SELECT TO_DATE('November 13, 1998', 'Month DD, YYYY');
to_date
1998-11-13

Datum im Format DD.MM.YYYY

PostgreSQL 17.9
SELECT TO_DATE('08.03.2024', 'DD.MM.YYYY');
to_date
2024-03-08

Zusätzlicher Text und kurzes Jahr

PostgreSQL 17.9
SELECT TO_DATE('08.03.2024 garbage', 'DD.MM.YYYY') AS extra_text,
	TO_DATE('8/3/24', 'DD.MM.YYYY') AS short_year;
extra_textshort_year
2024-03-080024-03-08

Details

Der String wird nachsichtig gelesen: Zusätzlicher Text nach der Vorlage wird übersprungen, und eine Zahl darf weniger Ziffern haben als in der Vorlage. Deshalb gibt TO_DATE('8/3/24', 'DD.MM.YYYY') 0024-03-08 zurück: Ein zweistelliges Jahr wird so gelesen, wie es ist, nicht als 2024.

Für einen String im Format YYYY-MM-DD ist ::date einfacher: Diese Umwandlung prüft den ganzen String und überspringt keinen zusätzlichen Text.

Siehe auch

Wo du es lernst