Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2852 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Ajouter 2 dates en PL sql + add_years

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajouter 2 dates en PL sql + add_years

n°1237179
molarisapa
Posté le 03-11-2005 à 10:15:42  profilanswer
 

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  :wahoo:  
 

mood
Publicité
Posté le 03-11-2005 à 10:15:42  profilanswer
 

n°1237228
Beegee
Posté le 03-11-2005 à 10:45:45  profilanswer
 

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.

n°1237266
molarisapa
Posté le 03-11-2005 à 11:27:17  profilanswer
 

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

n°1237281
molarisapa
Posté le 03-11-2005 à 11:37:33  profilanswer
 

   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

n°1237305
Beegee
Posté le 03-11-2005 à 11:49:44  profilanswer
 

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 :
  1. PROCEDURE CALCUL_DATE(MyDateTotal IN OUT DATE, MyDate1 IN DATE, MyDate2 IN DATE, MyAnnee IN NUMBER) IS
  2.   tmpDate1 DATE;
  3.   tmpDate2 DATE;
  4. BEGIN
  5.   tmpDate1 := ADD_MONTHS(MyDate1, MyAnnee*12);
  6.   tmpDate2 := ADD_MONTHS(MyDate2, MyAnnee*12);
  7.   IF (ABS(tmpDate1 - SYSDATE) < ABS(tmpDate2 - SYSDATE)) THEN
  8.     MyDateTotal := tmpDate1;
  9.   ELSE
  10.     MyDateTotal := tmpDate2;
  11.   END IF;
  12. END;

n°1237323
molarisapa
Posté le 03-11-2005 à 11:57:44  profilanswer
 

encore merci beegee pour ton aide. Si tout le monde pouvait etre comme toi, on vivrait bien plus heureux j'ai l'impression....

n°1237328
Beegee
Posté le 03-11-2005 à 12:03:06  profilanswer
 

Tout le monde aide ici ... mais il est vrai que j'ai franchement rien à faire au boulot en ce moment :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Ajouter 2 dates en PL sql + add_years

 

Sujets relatifs
Ajouter l'entete DTD dans un fichier XMLJouer avec les dates avec PHP
[ORACLE] Ajouter ON DELETE CASCADEdes identifiants et des dates ...
(RESOLU) : Comment ajouter un message d'erreur?[resolu]ajouter des données dans une requête htttp en js
[MYSQL]Datesfonction qui retourne nb jours entre 2 dates
[VISUAL] ajouter une aide dans le dynamic helpDelphi - Pb Ajouter *.pas au projet
Plus de sujets relatifs à : Ajouter 2 dates en PL sql + add_years


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR