Question Utilisation ADD_MONTHS
Bonjour,
Je suis nouvelle sur le site et un peu rouillée en SQL :oops:
Mon besoin est qu'il faudrait sur la liste de valeur ci-dessous, que je récupère uniquement pour cet objet les -10derniers mois.
Pour cela il faut que je me base sur la date la plus récente de mon objet (et non pas en me basant sur le sysdate, initialement prévus pour le ADD_MONTHS) et récupère les 10derniers mois.
Liste de valeur complète:
Code:
1 2 3 4 5 6 7 8 9 10 11
| select * from matable where champdate> add_months(sysdate),-10) and champ ='TEST1';
champ champdate
TEST1 2014-03-11-16.07.06
TEST1 2014-03-11-16.12.50
TEST1 2014-03-11-16.12.50
TEST1 2015-01-14-18.35.06
TEST1 2015-01-14-18.38.34
TEST1 2015-01-14-18.38.34
TEST1 2017-02-16-10.51.50
TEST1 2017-02-16-11.06.34
TTEST1 2017-02-16-11.06.34 |
Résultat souhaité:
champ champdate
----------------------
TEST1 2017-02-16-10.51.50
TEST1 2017-02-16-11.06.34
TEST1 2017-02-16-11.06.34
Requete que j'essaie de mettre en place :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| set serveroutput on
declare
date_max date;
begin
select max(champdate) into date_max from matable where champ ='TEST1'
UNION ALL
select champdate from matable where champdatefrom > add_months(date_max,-10) and champ ='TEST1';
DBMS_OUTPUT.PUT_LINE('var_max =' || date_max);
end;
/
var_max =2017-02-16-11.06.34
PL/SQL procedure successfully completed. |
Merci pour votre aide.