Tengo una columna que es de «DATE» tipo y quiero ejecutar una consulta en la que la comparan con sysdate.

Pero estoy recibiendo siguiente error, Puede alguien por favor, hágamelo saber lo que me estoy perdiendo aquí?

SQL> select distinct file_name as r 
     from table_1 
     where view_day >= TO_DATE(SYSDATE-10, 'YYYY/MM/DD');

ERROR at line 1:
ORA-01858: a non-numeric character was found where a numeric was expected
Si una de estas respuestas ayudado a usted con la solución, por favor marca en verde.

OriginalEl autor TopCoder | 2012-02-05

3 Comentarios

  1. 16

    Que no se debe usar to_date en una fecha, To_date es para el casting de un tipo de datos varchar hasta la fecha, no una fecha.

    Si usted hace uso de la función to_date en una fecha, luego de oracle se refieren a ella como una cadena de acuerdo a nls_date_format que puede variar en diferentes entornos.

    Como @jonearles dijo, si desea quitar el tiempo en sysdate, a continuación, utilizar TRUNC

    +1 para el «no uso to_date en las columnas de fecha».

    OriginalEl autor A.B.Cade

  2. 0

    De Error que muestra una VIEW_DAY columna es de tipo varchar por lo que necesita para convertir la FECHA a la Cadena. Uso TO_CHAR o convertir VIEW_DAY a tipo de fecha.

    Nope. view_date es de tipo FECHA
    He de adivinar! Eche un vistazo a – orafaq.com/wiki/ORA-01858
    Gracias! estás en lo correcto. El formato de fecha predeterminado para view_date y sysdate en mi sistema se han definido para DD-MON-YYYY. Cambiar el formato de la misma ayudado!
    Puede que desee utilizar TRUNC en lugar de TO_DATE.

    OriginalEl autor adatapost

Dejar respuesta

Please enter your comment!
Please enter your name here