Referencia de funciones

TO_DATE

Equivalente en MySQL:

Convierte una cadena en una fecha según una plantilla de formato.

PostgreSQL 17.9
TO_DATE(string, format)
string
Cadena con una fecha
text
format
Plantilla de formato, por ejemplo DD.MM.YYYY
text

Valor devuelto

Fecha (date); error, no NULL, si un campo no se puede leer o la fecha no existe

Ejemplos

Fecha a partir de un texto con el nombre del mes

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

Fecha en formato DD.MM.YYYY

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

Texto sobrante y año corto

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

Detalles

La cadena se lee de forma permisiva: el texto sobrante después de la plantilla se omite y un número puede tener menos dígitos que en la plantilla. Por eso TO_DATE('8/3/24', 'DD.MM.YYYY') devuelve 0024-03-08: un año de dos cifras se lee tal cual, no como 2024.

Para una cadena en formato YYYY-MM-DD es más sencillo ::date: esta conversión comprueba toda la cadena y no omite texto sobrante.

Véase también

Dónde aprenderlo