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

SQL y compraración de fechas

Estas en el tema de SQL y compraración de fechas en el foro de ASP Clásico en Foros del Web. Tengo una DB con un campo fecha Ese campo tendrá diferentes valores del tipo 30/08/1972 08/09/1976 etc... Yo necesito tomar todas las fechas entre el ...
  #1 (permalink)  
Antiguo 09/09/2004, 13:16
 
Fecha de Ingreso: septiembre-2004
Mensajes: 6
Antigüedad: 19 años, 9 meses
Puntos: 0
SQL y compraración de fechas

Tengo una DB con un campo fecha
Ese campo tendrá diferentes valores del tipo
30/08/1972
08/09/1976
etc...
Yo necesito tomar todas las fechas entre el 10/08 y el 10/09 independientemente del año que contengan.
¿Cuál sería la consulta que debo hacer?

Intenté hacer la siguiente burrada (y no resultó )

... WHERE replace(fecha,Year(fecha),2004) BETWEEN #2004/08/10# AND #2004/09/10# ...
¿¿¿¿replace(fecha,Year(fecha),2004)????????

¿Cómo puedo lograrlo entonces???

Gracias,
m.m.
  #2 (permalink)  
Antiguo 09/09/2004, 13:35
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Hat muchas respuestas relaciondas a este tema. Solo es questión de buscar en la Faq o en mensajes anteriores.

Lo que yo hago es pasarlas a :

mes/dia/año
  #3 (permalink)  
Antiguo 09/09/2004, 14:23
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Así es, aunque solo como apunte, si usas SQLServer, puedes usar las funciones YEAR(campo) y MONTH(campo) para filtrar por dichos campos.
  #4 (permalink)  
Antiguo 09/09/2004, 17:21
 
Fecha de Ingreso: agosto-2002
Mensajes: 301
Antigüedad: 21 años, 10 meses
Puntos: 2
te recomiendo este link esta en spañol
http://www.microsoft.com/spanish/...
  #5 (permalink)  
Antiguo 09/09/2004, 21:47
 
Fecha de Ingreso: septiembre-2004
Mensajes: 6
Antigüedad: 19 años, 9 meses
Puntos: 0
bueno... gracias a todos pero no he parado siquiera para comer y en los mensajes no he encontrado nada similar y el artículo de Microsoft tampoco hace referencia a lo que busco.

tal vez no me haya explicado bien.

Estoy trabajando con una DB Access.
Esta base de datos tiene un campo llamado fecha (con formato fecha).
En este campo están guardadas las fechas de nacimiento de distintas personas:
12/03/1975
20/03/1964
07/12/1982
Etc...
Yo, necesito saber qué personas cumplen años entre 01/03 (1 de marzo) y el 15/04 (15 de abril).

Para esto, utilicé mil y una funciones que fueron inútiles.

Lo que supuse yo desde un primer momento, es que lo que tengo que hacer es buscar por rangos de fecha obviando el año de nacimiento que figura en el campo.

Pero ¿Hay forma de obviar el año trabajando con un rango de fechas?

es decir, para saber quien cumple años hoy (10/09), yo utilizo algo como esto:

WHERE Day(fecha) = "&Day(Date())&" AND Month(fecha) = "&Month(Date())

difícil equivocarse (aunque tal vez no sea la forma correcta de hacerlo): mientras que el día de nacimiento sea 10 y el mes sea 9, nació un 10 de septiembre seguro....

Pero esto, con un rango de fechas ¿Qué forma tengo de solucionarlo?

Gracias.
  #6 (permalink)  
Antiguo 10/09/2004, 09:02
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Pues entonces no entiendo cual es el problema, y ya te "cayó el veinte" de usar esas funciones pues solo es cuestión de definir la consulta:

SELECT *
FROM Nombres
WHERE (Day(fecha_Nac) >= 1 AND Month(fecha_Nac) >= 3) and
(Day(fecha_Nac) <= 15 AND Month(fecha_Nac) <= 5)

Esa consulta, por ejemplo, obtiene los nacidos entre el 1o de Marzo y el 15 de Mayo.
  #7 (permalink)  
Antiguo 10/09/2004, 22:16
 
Fecha de Ingreso: septiembre-2004
Mensajes: 6
Antigüedad: 19 años, 9 meses
Puntos: 0
Gracias Myakire!!!
Sabes... en eso justamente estaba bloqueado!!! No lo podía sacar!!!
Ya lo he dicho... ¡Lo que menos funcionaba era mi imaginación!!!!!!

Nuevamente gracias Myakire!!!!

Saludos,
Mariano.
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 23:55.