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 :
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.ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique
Si j'enleve la partie rouge du WHERE, la requete fonctionne.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'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
Partager