Bonjour,
Cela semblait facile mais je suis dessus depuis 3 jours sans trouver de solution.
Voici la requête : Je tente de mettre à jour une table , en calculant un âge pour chaque personne rencontrée par rapport à l'exercice en cours.
Ce calcul d'âge est une différence entre deux Année : Année de l'exercice COT.EXERCICE Number 4,0 et La récupération de l'année de la date de naissance de la personne HIST.DATE_NAISSANCE Varchar2 8
Je teste le cas d'une date de naissance null ou égale à '@' pour forcer un âge à Zéro,
pour tous les autres cas j'effectue une différence entre Année exercice et la transformation en nombre de la partie année de la date de naissance.
Age est un Number de 4,0
Decode (HIST.DATE_NAISSANCE, null, 0, '@', 0,COT.EXERCICE - to_number(substr(HIST.DATE_NAISSANCE,1,4), '9999'))) as AGE.
Systématiquement j'obtiens ORA 1722 Nombre invalide lorsque j'essaye d'updater ma table
Par contre un select avec cette requête fonctionne très bien, le calcul est ok.
Ce n'est que lorsque je tente un Update que tout se plante. Le champ résultat est AGE number 4,0....... je ne vois pas ce qui cloche.....
Si vous avez une idée ......
Merci
Partager