To_date( ) avec un number

Fermé
Atloka Messages postés 24 Date d'inscription vendredi 18 novembre 2011 Statut Membre Dernière intervention 12 août 2015 - 12 août 2015 à 17:04
jee pee Messages postés 39583 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 avril 2024 - 12 août 2015 à 20:33
Bonjour,

J'essaye de faire une procédure d'archivage et je dois donc check les dates de mes tables ...
Certaines d'entre elles ont une date 'ANNEE' au format number(4,0).

Le problème est que j'essaye de comparer ce champ ANNEE avec une date (au format date) passé en paramètre de ma procédure :

FROM XXXX WHERE to_date('01/01/' || ANNEE) <= inDAT_ARCHIVE ;


Erreur(248,72): PL/SQL: ORA-00932: types de données incohérents ; attendu : DATE ; obtenu : NUMBER

(Fonctionne si ANNEE est un varchar2)

Une idée ?

Merci d'avance !! ;)

1 réponse

jee pee Messages postés 39583 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 avril 2024 9 225
Modifié par jee pee le 12/08/2015 à 20:39
salut,

tu pourrais essayer de convertir ton année numérique avec un to_char :
TO_CHAR(annee, '9999') 


donc :

WHERE to_date('01/01/'||TO_CHAR(annee,'9999')) <= inDAT_ARCHIVE ; 

cdlt

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0