Bonjour à tous, je suis en train de me taper la tête sur mon bureau en raison d'une erreur retournée, par une la requête suivante:

Code sql : 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
19
20
 
SELECT distinct enf.idf_agent                                MATRICULE,
       his.nom_usuel || ' ' || his.nom_prenom       NOM_PRENOM_PARENT,
       enf.nom_patro || ' ' || enf.nom_prenom       NOM_PRENOM_ENFANT,
       to_char(enf.dat_naissance,'DD/MM/YYYY')      DATE_NAISSANCE,
       to_char(enf.dat_justif ,'DD/MM/YYYY')        DATE_JUSTIF,
       enf.ind_droitsft                             DROITSFT
FROM   rh.enfant enf,
       og.ident_his his,
       rh.agtnat_anter nat 
WHERE  nat.idf_agent = enf.idf_agent
AND    nat.ident_id  = his.ident_id
and    nat.idf_agent = (select distinct idf_agent from rh.agtpai_anter where idf_agent=415)
--and    nat.idf_agent = 415
and (  to_date(to_char(enf.dat_naissance,'DD/MM'),'DD/MM') >= to_date('&mois_inf','DD/MM')
       and to_date(to_char(enf.dat_naissance,'DD/MM'),'DD/MM') <= to_date('&mois_sup','DD/MM')
     )
AND   to_date(to_char(enf.dat_fin,'DD/MM/YYYY'),'DD/MM/YYYY')   > to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')
AND   to_date(to_char(his.dat_debut,'DD/MM/YYYY'),'DD/MM/YYYY')  <= to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')
AND   to_date(to_char(his.dat_fin,'DD/MM/YYYY'),'DD/MM/YYYY')    > to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')

j'ai l'erreur suivante:

ERREUR à la ligne 15 :
ORA-01839: le quantième n'est pas valide pour le mois indiqué
Mais si je lance la requête suivante, alors c'est bon:

Code sql : 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
19
20
 
SELECT distinct enf.idf_agent                                MATRICULE,
       his.nom_usuel || ' ' || his.nom_prenom       NOM_PRENOM_PARENT,
       enf.nom_patro || ' ' || enf.nom_prenom       NOM_PRENOM_ENFANT,
       to_char(enf.dat_naissance,'DD/MM/YYYY')      DATE_NAISSANCE,
       to_char(enf.dat_justif ,'DD/MM/YYYY')        DATE_JUSTIF,
       enf.ind_droitsft                             DROITSFT
FROM   rh.enfant enf,
       og.ident_his his,
       rh.agtnat_anter nat 
WHERE  nat.idf_agent = enf.idf_agent
AND    nat.ident_id  = his.ident_id
--and    nat.idf_agent = (select distinct idf_agent from rh.agtpai_anter where idf_agent=415)
and    nat.idf_agent = 415
and (  to_date(to_char(enf.dat_naissance,'DD/MM'),'DD/MM') >= to_date('&mois_inf','DD/MM')
       and to_date(to_char(enf.dat_naissance,'DD/MM'),'DD/MM') <= to_date('&mois_sup','DD/MM')
     )
AND   to_date(to_char(enf.dat_fin,'DD/MM/YYYY'),'DD/MM/YYYY')   > to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')
AND   to_date(to_char(his.dat_debut,'DD/MM/YYYY'),'DD/MM/YYYY')  <= to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')
AND   to_date(to_char(his.dat_fin,'DD/MM/YYYY'),'DD/MM/YYYY')    > to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')

Qui aurait une idée