Foros del Web » Programando para Internet » ASP Clásico »

Problemas al manejar fechas en base datos.

Estas en el tema de Problemas al manejar fechas en base datos. en el foro de ASP Clásico en Foros del Web. Hola. Tengo creada una base de datos donde tengo los campos "nombre" y "fecha". Realizo una consulta a esta, donde pido que me muestre solo ...
  #1 (permalink)  
Antiguo 19/07/2007, 03:29
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 3 meses
Puntos: 0
Problemas al manejar fechas en base datos.

Hola. Tengo creada una base de datos donde tengo los campos "nombre" y "fecha". Realizo una consulta a esta, donde pido que me muestre solo los nombres que se encuentran entre dos fechas determinadas, y es ahi donde tengo el problema. Solo me muestra los datos dentro del intervalo de los dias que quiero, pero no del mes y del año. Os pongo el codigo que uso:

...
sql = "SELECT * FROM tabla WHERE fecha BETWEEN '12/01/2007' AND '31/12/2020' ORDER BY nombre"
...

Es como si que cuando se encuentra la primera / despues del dia, se cortara. En resumen, que solo me usa el dia para buscar, y no la fecha completa.

¿Por que puede ser?

Muchas gracias.
  #2 (permalink)  
Antiguo 19/07/2007, 08:21
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: Problemas al manejar fechas en base datos.

Puedes revisar el formato de las fechas, si esta dd/mm/yy o mm/dd/yy, además puede ser que no existan más registros luego de esa fecha.
__________________
3S-CRM
  #3 (permalink)  
Antiguo 19/07/2007, 09:07
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Problemas al manejar fechas en base datos.

El formato de la fecha es dd/mm/yyyy. En la base de datos están guardados así (en un campo de texto).

Entre las dos fechas que digo que me saque los resultados, hay registros que me debería sacar y no lo hace por estar entre esas dos fechas. Los que no me saca son los nombres que tiene como fecha, el día por debajo del número 12 (que es el que tengo puesto, 12/01/2007), pero por el mes si que me los debería sacar, ya que como digo, están entre las dos fechas.

Que cosas más raras.
  #4 (permalink)  
Antiguo 19/07/2007, 09:11
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Problemas al manejar fechas en base datos.

tienes que poner el formato DATETIME y no TEXT
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #5 (permalink)  
Antiguo 19/07/2007, 11:11
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Problemas al manejar fechas en base datos.

He probado a poner el campo "fecha" de la base de datos en fecha corta, pero sigue igual, no hace nada diferente.

He estado mirando sobre el tema y parece que el tema de fechas y su formato da un poco de guerra. A mi me está dando mucha!!!

A ver si se os ocurre otra cosa, por que yo ya no se por donde tirarle.
  #6 (permalink)  
Antiguo 19/07/2007, 17:18
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problemas al manejar fechas en base datos.

que base de datos usas?
  #7 (permalink)  
Antiguo 19/07/2007, 23:58
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 74
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Problemas al manejar fechas en base datos.

Saludos

Tu problema esta aqui:

El formato de la fecha es dd/mm/yyyy. En la base de datos están guardados así (en un campo de texto).

El campo debes crearlo en un campo tipo DATETIME.

Ahora bien, si ya creaste tu campo y lo cambias, tienes que revizar cual es el nuevo formato, por que si tienes datos dd/mm/yyyy, cuando lo cambies verifica en que formato te pone la nueva fecha, puede ser mm/dd/yyyy o si usas mysql es yyyy-mm-dd

Pero eso solo lo sabras metiendo un nuevo registro, y de preferencia hazlo desde el código para que veas que tipo de error te envia a la hora de insertar el tipo fecha.

Si te cambia el formato vas a tener que cambiar tus datos actuales de fecha por los correctos.
__________________
Nos leemos...

Richer
Is 40:31 1Co 16:22
  #8 (permalink)  
Antiguo 20/07/2007, 00:06
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 6 meses
Puntos: 8
Re: Problemas al manejar fechas en base datos.

A mi me ha pasado a veces que aunque en la base de datos la fecha esté en formato dd/mm/aaaa, para hacer las consultas tengo que invertir el orden, es decir, mm/dd/aaaa. Otro problema habitual que tengo, es que tengo que descomponer la fecha y volver a montarla yo, es decir, algo asi:
Código PHP:
dia day(date)
mes month(date)
anyo year(date)
fecha dia "/" mes "/" anyo 
Y ya por último, segun con que base de datos trabajes, en la sentencia sql, la fecha deberá ir entre corchetes, es decir:

Código PHP:
sql "SELECT * FROM tabla WHERE fecha BETWEEN #12/01/2007# AND #31/12/2020# ORDER BY nombre" 
__________________
Vayamos por Partes :: Jack el Destripador
  #9 (permalink)  
Antiguo 20/07/2007, 01:11
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Problemas al manejar fechas en base datos.

Ya está SOLUCIONADO!!!

Cambiand el campo fecha en la base de datos en tipo fecha corta, y realizando la busqueda con el formato de fecha tipo mm/dd/aaaa en vez de dd/mm/aaaa, y de la siguiente manera y sin between, funciona:

sql = "SELECT * FROM tabla WHERE fecha >= #"&fecha_hoy&"# ORDER BY nombre"'


Fecha_hoy es una variable que he creado para formar la fecha de hoy.


Muchas gracias a todos.
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:29.