sql >> Base de Datos >  >> RDS >> Oracle

Obteniendo el error:ORA-01858:se encontró un carácter no numérico donde se esperaba un carácter numérico

El error que está recibiendo se debe a que está haciendo TO_DATE en una columna que ya es una fecha, y está usando una máscara de formato que es diferente a su nls_date_format parámetro[1] o porque la columna event_occurrence contiene datos que no son un número.

Debe a) corregir su consulta para que no use TO_DATE en la columna de fecha, yb) corregir sus datos, si se supone que event_occurrence son solo números.

Y arregle el tipo de datos de esa columna para asegurarse de que solo puede almacenar números.



[1] Qué hace Oracle cuando usted hace:TO_DATE(date_column, non_default_format_mask) es:TO_DATE(TO_CHAR(date_column, nls_date_format), non_default_format_mask)

Por lo general, el nls_date_format predeterminado el parámetro se establece en dd-MON-yy , por lo que en su consulta, lo que probablemente suceda es que su columna de fecha se convierta en una cadena con el formato dd-MON-yy, y luego vuelva a convertirla en una fecha usando el formato MMDD. La cadena no está en este formato, por lo que obtiene un error.