Bonjour à tous,
je suis en cours de tests après migration d'une BD Oracle 8 vers 10g.
La migration a été effectuée sans soucis (apparement) avec les outils d'export et d'import de dump.
J'en arrive au problème. J'ai une requete qui sélectionne des données sur plusieurs tables et suivant la clause WHERE, j'obtiens le superbe message :
ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique
J'ai identifié la table d'où provient cette erreur, mais je ne vois pas comment je peux obtenir un tel message avec un SELECT tout basique.
SELECT champ1, champ2, ....
FROM table1, table2, ...
WHERE (table1.PK = table2.FK)
AND ...
(TO_DATE(TO_CHAR(DATEFACTURATION,'DD/MM') || '/2007','DD/MM/YYYY') >= TO_DATE('30/06/2007','DD/MM/YYYY')) AND
(TO_DATE(TO_CHAR(DATEFACTURATION,'DD/MM') || '/2007','DD/MM/YYYY') <= TO_DATE('31/07/2007','DD/MM/YYYY'))


Si j'enleve la partie rouge du WHERE, la requete fonctionne.
Si j'ajoute au SELECT TO_DATE(TO_CHAR(DATEFACTURATION,'DD/MM') || '/2007','DD/MM/YYYY') , la requete fonctionne encore

Cette erreur est-elle en rapport avec une migration incorrecte ?

Comment peut-on avoir ce message avec un SELECT ?

Le paramètre NLS_DATE_FORMAT peut-il changer qq chose ?

Je précise que toutes mes dates ont le format DD/MM/YYYY (ou semblent l'avoir).



Toute piste est la bienvenue. Merci

Merci