Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

comparacion de fechas

Estas en el tema de comparacion de fechas en el foro de Oracle en Foros del Web. hola a todos quisiera saber si me pueden ayudar. tengo una tabla c_doc donde grabo fecha y hora en la columna fch_doc pero cuando trato ...
  #1 (permalink)  
Antiguo 16/12/2007, 12:48
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
comparacion de fechas

hola a todos
quisiera saber si me pueden ayudar.
tengo una tabla c_doc donde grabo fecha y hora en la columna fch_doc pero cuando trato de hacer el siguiente select me retorna 0

SELECT COUNT(1)
FROM EXPENDIOS.C_DOC A,
EXPENDIOS.D_DOC B
WHERE
A.COD_CLI = B.COD_CLI AND
A.COD_DOC = B.COD_DOC AND
A.NUM_DOC = B.NUM_DOC AND
A.DES_NOM_DOC = 'PACORI VILCA,RAFAEL' AND
B.COD_PROD = 'XALMUERZO' AND
A.FCH_DOC = TO_DATE(TO_CHAR(SYSDATE,'DD/MM/YYYY'),'DD/MM/YYYY')

y si le quito AND A.FCH_DOC = TO_DATE(TO_CHAR(SYSDATE,'DD/MM/YYYY'),'DD/MM/YYYY')

si me retorna una cantidad que es 6 , y si tengo datos grabados con fecha y hora de hoy como puedo hacer validar ese where respecto a la fch_doc?
  #2 (permalink)  
Antiguo 16/12/2007, 14:53
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: comparacion de fechas

Hola,

Cita:
TO_DATE(TO_CHAR(SYSDATE,'DD/MM/YYYY'),'DD/MM/YYYY')
Esta parte no la entiendo, para que hacer un TO_CHAR y un TO_DATE de un valor que ya es del tipo DATE?

De todos modos, la consulta no te devuelve ningun valor porque, como ya lo has dicho, la tabla guarda fecha y hora, y una funcion TO_CHAR sin la mascara de hora es lo mismo que hacer un TRUNC(SYSDATE), lo que en valores practicos de ejemplo seria, '10/12/2007 23:55' distinto a '10/12/2007'.

Si quieres hacer una comparacion de solo fechas, la condicion es

Código:
TRUNC(A.FCH_DOC) = TRUNC(SYSDATE)
Si quieres hacer una comparacion de fechas y horas, la condicion es

Código:
A.FCH_DOC = SYSDATE
Y si quieres hacer una comparacion de fechas y horas con un string, la condicion es

Código:
A.FCH_DOC = TO_DATE('10/12/2007 23:55','dd/mm/yyyy hh24:mi')
Revisa la documentacion de Oracle por todos los formatos posibles para la mascara de fechas, solo he dado ejemplos con mascaras de minutos, puede que necesites segundos tambien.

http://download.oracle.com/docs/cd/B...004.htm#i34924

Saludos

Última edición por matanga; 16/12/2007 a las 15:04
  #3 (permalink)  
Antiguo 16/12/2007, 18:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: comparacion de fechas

Muchas gracias ya identifique donde estaba mi error no estaba utilizando bien la funcion trunc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:11.