Bonjour,

j'ai un 'petit' problème avec l'interval par année : en effet ça fonctionne mais quand sur la table on tombe sur des dates précises ...ça fait une erreur : ORA-01839: le quantième n'est pas valide pour le mois indiqué

Hors j'avais cru trouver un truc mais il marche que pour le 29 février : malgré cette trouvaille j'arrive quand même à la même erreur sur d'autres critères de sélection de la table : date non découverte.


(ps : la solution retenue est d'ajouter en nb jours mais je trouve dommage car c'est moins exact)

Exemple dual. le 29 février 2008 + 3 ans => erreur : +8 ans ça existe: j'utilise l'astuce d'enlever 1 jour au 29 février 2008 , j'ajoute 3 ans puis le jour supprimé auparavant: l'erreur disparait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SQL> select to_date('29/02/2008','DD/MM/YYYY') + INTERVAL '3' year from dual;
                                          *
ERREUR … la ligne 1 :
ORA-01839: le quantiŠme n'est pas valide pour le mois indiqu‚'
 
SQL> c/'3'/'8'
  1* select to_date('29/02/2008','DD/MM/YYYY') + INTERVAL '8' year from dual
SQL> /
 
TO_DATE(
--------
29/02/16
 
SQL>   1* select to_date('29/02/2008','DD/MM/YYYY')-1 + INTERVAL '3' year +1 from dual;
 
TO_DATE(
--------
01/03/11
N'y a t'il pas une manière de gérer l'ajout d'intervalle en années qui ne bloque pas sur des dates précises?? je ne voyais que le 29/02 mais ils semblerait qu'il y ait d'autres problèmes.

Merci d'avance.
LCA