Saltar al contenido

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

El paso a paso o código que encontrarás en este artículo es la solución más rápida y efectiva que hallamos a esta inquietud o dilema.

Solución:

El error que está recibiendo es porque está haciendo TO_DATE en una columna que ya es una fecha, y está utilizando 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 números.

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)

Generalmente, el valor predeterminado nls_date_format el parámetro se establece en dd-MON-yypor lo que en su consulta, lo que probablemente suceda es que su columna de fecha se convierta en una string en el formato dd-MON-yy, y luego lo regresa a una fecha usando el formato MMDD. los string no está en este formato, por lo que obtiene un error.

Este error puede deberse no solo a las conversiones de fecha

Este error puede ocurrir cuando intentamos pasar la fecha mientras se espera varchar
o
cuando intentamos pasar varchar mientras que se espera la fecha.

Use to_char(sysdate,’YYYY-MM-DD’) cuando se espera varchar

Valoraciones y reseñas

Recuerda que tienes autorización de decir si diste con la contestación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *