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