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

Filtrar 2 rangos por fecha

Estas en el tema de Filtrar 2 rangos por fecha en el foro de SQL Server en Foros del Web. Hola, aver si me explico: Tengo 4 campos en la bbdd: fecha desde1, hasta1,desde2,hasta2; es decir 2 rangos de fechas. Y un buscador(web form, visual ...
  #1 (permalink)  
Antiguo 26/05/2008, 02:02
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 9 meses
Puntos: 0
Filtrar 2 rangos por fecha

Hola, aver si me explico:
Tengo 4 campos en la bbdd:

fecha desde1, hasta1,desde2,hasta2; es decir 2 rangos de fechas.

Y un buscador(web form, visual studio 2008) que contiene 2 textbox para filtrar:
fecha desde y fecha hasta.

Necesito hacer una select para que me filtre, pero me estoy liando muy mucho.

ALguna sugerencia?

Gracias!
  #2 (permalink)  
Antiguo 26/05/2008, 08:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Filtrar 2 rangos por fecha

No estoy muy seguro de lo que quieres decir, pero no sería

SELECT ...
FROM ....
WHERE FECHA BETWEEN 'fecha1' AND 'fecha2'
  #3 (permalink)  
Antiguo 26/05/2008, 14:21
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Filtrar 2 rangos por fecha

En campos de tipo FECHA, es mejor utilizar:

WHERE campofecha >= '20080101' AND campofecha <= '20080115'

Saludos.
  #4 (permalink)  
Antiguo 26/05/2008, 17:09
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Pregunta Respuesta: Filtrar 2 rangos por fecha

Cita:
Iniciado por iislas Ver Mensaje
En campos de tipo FECHA, es mejor utilizar:

WHERE campofecha >= '20080101' AND campofecha <= '20080115'

Saludos.
iislas, seria bueno decir el por que.
Yo uso BETWEEN con las fechas y no tengo problemas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 27/05/2008, 00:41
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Filtrar 2 rangos por fecha

De hecho es la sentencia BETWEEN la que está preparada para realizar consultas por rangos de fechas.
  #6 (permalink)  
Antiguo 27/05/2008, 01:28
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Filtrar 2 rangos por fecha

Habeis tenido en cuanta que son dos rangos, es decir 4 fechas?

Gracias!
  #7 (permalink)  
Antiguo 27/05/2008, 09:24
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Filtrar 2 rangos por fecha

En este caso seria asi, aunque no estoy seguro porque el amigo mahoni no explico bien la condicion.
Código:
SELECT ...
FROM ....
WHERE desde1 <= @fecha_desde and hasta1 >= @fecha_desde
AND desde2 <= @fecha_hasta and hasta2 >= @fecha_desde
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 27/05/2008, 14:35
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Filtrar 2 rangos por fecha

Lebenin

¿Podria usted decirme la FUENTE de lo que usted asevera?

"De hecho es la sentencia BETWEEN la que está preparada para realizar consultas por rangos de fechas"
  #9 (permalink)  
Antiguo 28/05/2008, 03:48
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Filtrar 2 rangos por fecha

Gracias a todos, pero creo que no tengo todavia la solución, vamos a ver si me explico bien:

Tengo en mi base de datos sql server 4 capos: fechaInicio1, FechaFin1, FechaInicio2, FechaFin2(imaginemos que es un curso que puede impartirse de fechaInicio1 a FechaFin 2 únicamente, o tambien a parte de la primera condicion de FechaInicio2 a FechaFin2).

Luego tengo un buscador con diferentes opciones para filtrar datos y entre ellas 2 textbox en el que pueden introducir un único rango de fechas:fecha_desde.text y fecha_hasta.text
  #10 (permalink)  
Antiguo 28/05/2008, 07:36
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Filtrar 2 rangos por fecha

retomando el code de flaviovich...

Código:
SELECT ...
FROM ....
WHERE (desde1 >= @fecha_desde and hasta1 <= @fecha_hasta)
OR (desde2 >= @fecha_desde and hasta2 <= @fecha_hast)
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #11 (permalink)  
Antiguo 28/05/2008, 08:34
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Filtrar 2 rangos por fecha

No me vale, porque:
imaginaos que tengo:
rango1: 01/05/2008(fecha_inicio1)-30/05/2008(fecha_fin1)

y busca este rango:
23/04/2008(desde)-25/05/2008(hasta)

El valor fechahasta es menor que el valor fechafin, pero aún así el curso esta dentro del rango
  #12 (permalink)  
Antiguo 28/05/2008, 08:51
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Filtrar 2 rangos por fecha

Ok, entonces solo requieres el listado de cursos que empiecen en el rango que le estas indicando, sin importar la fecha en que finalicen.

Código:
SELECT ...
FROM ....
WHERE (desde1 >= @fecha_desde and desde1 <= @fecha_hasta)
OR (desde2 >= @fecha_desde and desde2 <= @fecha_hast)
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #13 (permalink)  
Antiguo 28/05/2008, 09:11
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Filtrar 2 rangos por fecha

No.

tengo:
rango1: 01/05/2008(fecha_inicio1)-30/05/2008(fecha_fin1)

y busca este rango:
03/05/2008(desde)-25/05/2008(hasta)

no me lo cogería y si que tiene que cogerlo.

quiero que si cualquier fecha del rango que estamos buscando, esta dentro de los rango que tenemos en la base de datos, se muestre.


MUchas gracias, de verdad!
  #14 (permalink)  
Antiguo 28/05/2008, 09:32
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Filtrar 2 rangos por fecha

Cita:
Iniciado por mahoni Ver Mensaje
quiero que si cualquier fecha del rango que estamos buscando, esta dentro de los rango que tenemos en la base de datos, se muestre.
Si esta descripcion la hubieras incluido desde el primer post, te hubieran ayudado mas rapido....

Trata de ser mas explicito en tus preguntas, agregando los ejemplos para mayor claridad...


Código:
SELECT ...
FROM ....
WHERE (desde1 <= @fecha_desde and hasta1 >= @fecha_desde) OR
          (desde1 <= @fecha_hasta and hasta1 >= @fecha_hasta)  OR
          (desde2 <= @fecha_desde and hasta2 >= @fecha_desde) OR
          (desde2 <= @fecha_hasta and hasta2 >= @fecha_hasta)
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #15 (permalink)  
Antiguo 29/05/2008, 01:37
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Filtrar 2 rangos por fecha

Muchas gracias, funciona!

Intento ser lo mas especifico posible, pero a veces es dificil.

Gracias!!!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:53.