Bonjour,

Je rencontre un souci avec les dates dans Oracle (je sais, c'est pas original).
J'ai la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SELECT   CV.VALUE,
         TO_DATE (CV.VALUE, 'YYYY/MM/DD  HH24:MI:SS') AS date_demande
  FROM      workcase w
         INNER JOIN
            case_variable CV
         ON CV.tcid = w.id AND CV.variable = 'ddi_sap_date_demande'
 WHERE   w.id = 306634
Qui me renvoie le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
VALUE = 2011/03/16  00:00:00
DATE_DEMANDE = 16/03/2011
Manifestement, la requête fonctionne donc (la colonne value est de type varchar2(2000) pour info).
Par contre, si je rajoute une clause where comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT   CV.VALUE,
         TO_DATE (CV.VALUE, 'YYYY/MM/DD  HH24:MI:SS') AS date_demande
  FROM      workcase w
         INNER JOIN
            case_variable CV
         ON CV.tcid = w.id AND CV.variable = 'ddi_sap_date_demande'
 WHERE   w.id = 306634
         AND TO_DATE (CV.VALUE, 'YYYY/MM/DD  HH24:MI:SS') = SYSDATE
J'obtiens une erreur ORA-01861 !
Comment se fait-il qu'une telle erreur se produise dans le where, alors même que dans le select la conversion to_date fonctionne ?! Je veux dire, à partir du moment où la conversion du varchar2 en date fonctionne, pourquoi sa comparaison avec sysdate échoue ?
Merci d'avance.