Problème de format date ????

plogos Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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'


.
0