Ajouter 2 dates en PL sql + add_years - SQL/NoSQL - Programmation
Marsh Posté le 03-11-2005 à 10:45:45
Les dates, ça ne s'additionne pas ! 
 
Par contre on peut ajouter / retirer un nombre de jours / mois / années à une date. 
 
Pour ajouter / retirer des années : 
 
ADD_MONTHS(maDate, nombreAnnées * 12) 
 
Explique ce que tu voulais faire en additionnant 2 dates.
Marsh Posté le 03-11-2005 à 11:27:17
merci pour le ADD_MONTHS(maDate, nombreAnnées * 12)  j'y avais meme pas pensé!!  
 
 
sinon, en faite je ne veut pas faire d'addition, la encore je m'y prend mal. sorry et merci encore pour vos réponses
Marsh Posté le 03-11-2005 à 11:37:33
    dateBuff1 := ADD_MONTHS(MyDate1 , MyAnnee * 12); 
    dateBuff2 := ADD_MONTHS(MyDate2 , MyAnnee * 12) ; 
 
avec MyDateTotal := la date la plus proche, entre dateBuff1 et dateBuff2, de sysdate 
 
c'ets pour ca que je cherchais a faire une addition. 
 
la je cherche un truc du genre DATEDIFF ou MONTH_BETWEEN 
Marsh Posté le 03-11-2005 à 11:49:44
Date1 - Date2 renvoie l'écart (en jours) entre 2 dates. Il peut y avoir des décimales  
 
 
Tu peux faire quelque chose du genre : 
 
| Code : 
 | 
Marsh Posté le 03-11-2005 à 11:57:44
encore merci beegee pour ton aide. Si tout le monde pouvait etre comme toi, on vivrait bien plus heureux j'ai l'impression....
Marsh Posté le 03-11-2005 à 12:03:06
Tout le monde aide ici ... mais il est vrai que j'ai franchement rien à faire au boulot en ce moment 
Marsh Posté le 03-11-2005 à 10:15:42
Bonjour,
 
  
 
  
je dois faire un calcul avec des objets date et un objet number qui est cencé etre des années
Procedure CALCUL_DATE ( MyDateTotal IN OUT date, MyDate1 IN date, MyDate2 IN date, MyAnnee IN number) IS
Begin
MyDateTotal := MyDate1 + MyDate2;
MyDateTotal := add_years(MyDateTotal, MyAnnee);
end;
pour le add_years il me met "PLS-00201: identificateur 'ADD_YEARS' doit être déclaré" alors qu'avec un add_months ca compile
pour l'addition avec le + il me met "PLS-00306: numéro ou types d'arguments erronés dans appel à '+'"
merci pour votre aide