SQL - Calcul de DATE sur Oracle 11g
Bonjour,
Dans une procédure, un calcul sur des dates ramène un message d'erreur selon les jours du mois sur lesquels se font les calcul.
Jusqu'alors, cela fut "bidouillé" manuellement pour que ça passe.
Comment corriger ?
Le code d'origine est:
Code:
1 2 3 4 5
|
select max(STAT_NUM_OPE) --into v_MAX_NUM_OPE
from STAT_OPE
Where STAT_OPE_PERIODE = 'SEMESTRE'
and STAT_OPE_D_EXTRACT > to_Date('20120205' - 5, 'YYYYMMDD') |
Après les tests suivants "from dual"
Code:
1 2 3 4
|
SELECT to_Date('20130729' + 5,'YYYYMMDD') FROM DUAL;
ou
select to_Date('20130205' - 5,'YYYYMMDD') FROM DUAL; |
Nous avons le message erreur Oracle
Code:
1 2 3
|
ORA-01847: le jour du mois doit être compris entre 1 et le dernier jour du mois
01847. 00000 - "day of month must be between 1 and last day of month" |
Comment procéder pour mettre en place le calcul sur ces dates pour que cela fonctionne à tous les coups ?
Merci pour votre aide