Problème de format date ????

[Fermé]
Signaler
Messages postés
1
Date d'inscription
jeudi 23 juillet 2020
Statut
Membre
Dernière intervention
23 juillet 2020
-
Messages postés
33709
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 octobre 2021
-
Bonjour,

Il faut dire au départ que j'ai ceci
SQL> select sysdate from dual;

SYSDATE
--------
23/07/20

j'ai un résultat que je ne sais pas interpréter la première requête qui ne ramène rien et la deuxième sur laquelle j'ai mis en commentaire le critère relatif à la date, ramène des choses. Quel a-t-il une idée ?

SELECT ecdat,ctct,sensod,sum(mtdeb),sum(mtcre),flag,brecr
FROM KTEST,KIDFBUD
WHEREKTEST.SCSO||''= 'XX'
ANDKTEST.TJCOD = NVL('BQ',KTEST.TJCOD)
AND KTEST.OPC = NVL('CBBV',KTEST.OPC )
AND KTEST.DATEXE = 2020
ANDKTEST.PEC = 802
AND KTEST.ECDAT <= TO_DATE('10062020','DDMMYYYY')
AND KTEST.ECDAT >= TO_DATE('10062020','DDMMYYYY')
AND KTEST.SCSO = KIDFBUD.SCSO
AND KTEST.ICBUD = KIDFBUD.ICBUD
AND KTEST.FLAG != '8'
AND KTEST.FLAG != '5'
AND KTEST.FLAG != '9'
AND KTEST.CTCT||'' IN ('L', 'A', 'P')
group by ecdat,ctct,sensod ,flag,brecr;

aucune ligne sélectionnée

SELECT ecdat,ctct,sensod,sum(mtdeb),sum(mtcre),flag,brecr
FROM KTEST,KIDFBUD
WHERE KTEST.SCSO||''= 'XX'
AND KTEST.TJCOD = NVL('BQ',KTEST.TJCOD)
AND KTEMPOD.OPC = NVL('CBBV',KTEST.OPC )
AND KTEMPOD.DATEXE = 2020
AND KTEMPOD.PEC = 802
--AND KTEST.ECDAT <= TO_DATE('10062020','DDMMYYYY')
--AND KTEST.ECDAT >= TO_DATE('10062020','DDMMYYYY')
AND KTEST.SCSO = KIDFBUD.SCSO
AND KTEST.ICBUD = KIDFBUD.ICBUD
ANDKTEST.FLAG != '8'
AND KTEST.FLAG != '5'
AND KTEST.FLAG != '9'
AND KTEST.CTCT||'' IN ('L', 'A', 'P')
group by ecdat,ctct,sensod ,flag,brecr;

ECDAT C S SUM(MTDEB) SUM(MTCRE) F BRECR
-------- - - ---------- ---------- - ----------
10/06/20 L C 4578,79 1
10/06/20 L D 4578,79 1
21/07/20 L C 1224,39 1
21/07/20 L D 1224,39 1
A voir également:

1 réponse

Messages postés
33709
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 octobre 2021
3 767
Bonjour,

Vu que tu as
AND KTEST.ECDAT <= TO_DATE('10062020','DDMMYYYY')
AND KTEST.ECDAT >= TO_DATE('10062020','DDMMYYYY') 


Comment... ton champ ECDAT peut être à la fois supérieur (ou égale) ET inférieur (ou égale) à la même date ?
Autant juste écrire
AND KTEST.ECDAT = TO_DATE('10062020','DDMMYYYY')


Ton autre souci semble concerné le "format"
Ton champ ECDAT semble être sous la forme DD/MM/YY
hors, toi, tu as mis 4 Y

Il me semble également étrange que la date s'affiche sous ce format DD/MM/YY ... à croire que tu n'as pas utilisé un champ de type DATE dans ta BDD mais un VARCHAR ...
Hors.. une DATE, dans une BDD, ça se stocke dans un champ de type DATE !!

Quoi qu'il en soit, tu pourrais essayer
TO_DATE(KTEST.ECDAT, 'DDMMYY') = '100620'


.