Problema con el formato de fecha ????

plogos Mensajes publicados 1 Estado Miembro -  
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   -
Hola,

Hay que decir desde el principio que tengo esto
SQL> select sysdate from dual;

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

tengo un resultado que no sé interpretar, la primera consulta que no devuelve nada y la segunda sobre la cual he comentado el criterio relativo a la fecha, devuelve resultados. ¿Qué idea tiene?

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 KTEST.OPC = NVL('CBBV',KTEST.OPC )
AND KTEST.DATEXE = 2020
AND KTEST.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;

ninguna fila seleccionada

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
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;

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

1 respuesta

jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 
Hola,

Dado que tienes
 AND KTEST.ECDAT <= TO_DATE('10062020','DDMMYYYY') AND KTEST.ECDAT >= TO_DATE('10062020','DDMMYYYY') 


... ¿cómo puede tu campo ECDAT ser a la vez mayor (o igual) Y menor (o igual) a la misma fecha?
Es mejor escribir
 AND KTEST.ECDAT = TO_DATE('10062020','DDMMYYYY') 


Tu otro problema parece estar relacionado con el "formato".
Tu campo ECDAT parece estar en el formato DD/MM/YY
sin embargo, tú pusiste 4 Y

Me parece también extraño que la fecha se muestre en este formato DD/MM/YY... parece que no has utilizado un campo de tipo DATE en tu BDD, sino un VARCHAR...
Sin embargo... una fecha, en una BDD, se almacena en un campo de tipo DATE !!

De todos modos, podrías intentar
 TO_DATE(KTEST.ECDAT, 'DDMMYY') = '100620' 


.
--
Atentamente,
Jordane
0