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

AYUDA POR FAVOR con consulta Fechas

Estas en el tema de AYUDA POR FAVOR con consulta Fechas en el foro de Programación General en Foros del Web. mi consulta es: ¿ por que esta consulta no saca nada? SELECT HIST_CUENTAS."COD_PROVINCIA" FROM "SCABLE"."HIST_CUENTAS" HIST_CUENTAS WHERE HIST_CUENTAS.FEC_HASTA LIKE '#1999-09-24#' cuando al hacer SELECT * ...
  #1 (permalink)  
Antiguo 20/02/2004, 04:27
 
Fecha de Ingreso: febrero-2004
Ubicación: salvador
Mensajes: 3
Antigüedad: 20 años, 2 meses
Puntos: 0
AYUDA POR FAVOR con consulta Fechas

mi consulta es:
¿ por que esta consulta no saca nada?

SELECT
HIST_CUENTAS."COD_PROVINCIA"
FROM
"SCABLE"."HIST_CUENTAS" HIST_CUENTAS
WHERE HIST_CUENTAS.FEC_HASTA LIKE '#1999-09-24#'

cuando al hacer SELECT * from hist_cuentas,esto funciona,por lo que parece que el error este en FEC_HASTA like '#2000-01-27', y he comprobado que existe un registro en la tabla hist_cuentas con un FEC_HASTA con este valor. Tambien he probado poniendo la fecha sin comillas,Y SCABLE es una base de datos ORacle.


gracias
  #2 (permalink)  
Antiguo 21/02/2004, 00:06
Avatar de AlvaroHM  
Fecha de Ingreso: mayo-2002
Ubicación: Tacuba, Distrito Fedreal
Mensajes: 78
Antigüedad: 21 años, 11 meses
Puntos: 0
Me han sucedido cosas muy parecidas en Tablas de dBase, el problema que he tenido en estas bases en cuanto a las fechas, es que no son compatibles con la configuración regional del sistema en la que estan funcionando y presentan ciertas anomalías como fallos en cuanto a consultas por días específicos, por ejemplo, si hago una consulta buscando el día 1999 - 09 - 24 me da como resultados no solo los de ese día sino también los demas días del mes por lo que no puedo hacer consultas por dias sino por meses enteros, cosa rara...

Algunas soluciónes que puedo proponerte habiéndolas probado, como dije ya antes, en bases de dBase IV y controladas desde Visual Basic 6.0:

En lugar de escribir en la consulta la condición como '#1999-09-24#' hazlo con el siguiente formato: # 1999 / 09 / 24 # (sin comillas); los manejadores de bases que he usado solo interpretan la fecha con las diagonales " / " y no con " - "...

En segundo lugar, una solución que he utilizado en bases de datos que no son muy grandes y tampoco crecen a pasos agigantados en la siguiente:
Primero hago una consulta en la que saco los resultados que dependan de las condiciones que no son fechas.
Los resultados de esta consulta las paso por una función como while o for y el campo lo someto a comparaciones de fechas como DatePart o DateDiff de VisualBasic que son funciones que te permiten saber si una fecha es o no del mismo mes o día al que estas buscando... no es muy difícil y bueno, no he usado oracle pero supongo que tendrá algunas funciones semejantes...
  #3 (permalink)  
Antiguo 23/02/2004, 02:05
 
Fecha de Ingreso: febrero-2004
Ubicación: salvador
Mensajes: 3
Antigüedad: 20 años, 2 meses
Puntos: 0
gracias alvaro lo voy a probar
  #4 (permalink)  
Antiguo 23/02/2004, 04:05
 
Fecha de Ingreso: febrero-2004
Ubicación: salvador
Mensajes: 3
Antigüedad: 20 años, 2 meses
Puntos: 0
pues siento comunicarte q esto tampoco funciona buaaa
  #5 (permalink)  
Antiguo 23/02/2004, 11:54
Avatar de AlvaroHM  
Fecha de Ingreso: mayo-2002
Ubicación: Tacuba, Distrito Fedreal
Mensajes: 78
Antigüedad: 21 años, 11 meses
Puntos: 0
tienes que usar forzosamente el like?...
  #6 (permalink)  
Antiguo 24/02/2004, 02:47
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 5 meses
Puntos: 0
Te recomiendo que utilices BETWEEN o los operadores "=", "<" y ">".
LIKE lo utilizarías para comparar cadenas.

Saludos
Pablo
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 05:07.