Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Obtendo erro - ORA-01858:um caractere não numérico foi encontrado onde um numérico era esperado


O erro que você está recebendo é porque você está fazendo TO_DATE em uma coluna que já é uma data e você está usando uma máscara de formato diferente do seu nls_date_format parâmetro[1] ou porque a coluna event_occurrence contém dados que não são um número.

Você precisa a) corrigir sua consulta para que ela não use TO_DATE na coluna de data eb) corrigir seus dados, se event_occurrence for apenas números.

E corrija o tipo de dados dessa coluna para garantir que você possa armazenar apenas números.



[1] O que a Oracle faz quando você faz:TO_DATE(date_column, non_default_format_mask) é:TO_DATE(TO_CHAR(date_column, nls_date_format), non_default_format_mask)

Geralmente, o padrão nls_date_format parâmetro está definido como dd-MON-yy , portanto, em sua consulta, o que provavelmente está acontecendo é que sua coluna de data é convertida em uma string no formato dd-MON-aa e você a está voltando para uma data usando o formato MMDD. A string não está neste formato, então você recebe um erro.