To_date( ) avec un number [Fermé]

Signaler
Messages postés
24
Date d'inscription
vendredi 18 novembre 2011
Statut
Membre
Dernière intervention
13 août 2015
-
jee pee
Messages postés
28178
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 février 2020
-
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

Messages postés
28178
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 février 2020
5 954
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é.