DBAtlas · Atlas de operaciones de bases de datos

ORA-01843: not a valid month (mes no válido)

Oracle

¿Qué significa?

Al convertir texto a DATE, la parte del mes no pudo interpretarse como un mes válido. Normalmente el formato de fecha no coincide con el formato de los datos.

¿Por qué ocurre?

No se pasó máscara de formato a TO_DATE y el NLS_DATE_FORMAT de la sesión no coincide con los datos; día y mes intercambiados (confusión DD/MM frente a MM/DD); una diferencia de idioma/configuración regional (en los nombres de los meses); texto de fecha corrupto o inesperado.

Cómo solucionarlo

Pase siempre un formato explícito en las llamadas a TO_DATE: TO_DATE('2026-07-04', 'YYYY-MM-DD'). Para texto con nombres de meses, indique el idioma: TO_DATE(str, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH'). Configure el formato de la sesión si es necesario: ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'. Valide el texto de fecha no válido antes de cargarlo.

Abrir en DBAtlas →

Más entradas de este motor