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

Consulta rango de fechas con Between.

Estas en el tema de Consulta rango de fechas con Between. en el foro de SQL Server en Foros del Web. Hola tengo la consulta para sacar un rango definido de fechas desde campos tipo texto en una tabla, por ejemplo : select * from tabla ...
  #1 (permalink)  
Antiguo 13/10/2008, 07:31
 
Fecha de Ingreso: junio-2006
Mensajes: 18
Antigüedad: 17 años, 10 meses
Puntos: 0
Consulta rango de fechas con Between.

Hola tengo la consulta para sacar un rango definido de fechas desde campos tipo texto en una tabla, por ejemplo :

select * from tabla where fecha between '09-10-2008' and '12-10-2008' order by id

el problema viene cuando quiero ampliar el rango con un mes mas : '09-10-2008' and '03-11-2008' y el resultado no me arroja los que estan en el anterior dentro del mismo mes, tambien lo probe pasando los parametros como fecha y es el mismo resultado.Alguna orientacion sobre esto? , muchas gracias.
  #2 (permalink)  
Antiguo 13/10/2008, 08:18
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: Consulta rango de fechas con Between.

Lo que pasa es que las fechas en SQL Server se guardan con las horas, y si no las especificamos toman el valor por defecto que es 00:00:00.
Entonces, si tu buscas las fechas entre el 09-10-2008 y el 12-10-2008 la busqueda sera hasta el 12 de octubre de la media noche. En otras palabras solo busca hasta el 11 de octubre.
Si quieres que busque todo el dia completo puedes aumentar las horas, aunque seria mejor aumentar un dia: 13-10-2008.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 13/10/2008, 08:30
 
Fecha de Ingreso: junio-2006
Mensajes: 18
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Consulta rango de fechas con Between.

Muchas gracias, ahora depurare el tema para hacer de otra forma la consulta, un abrazo.
  #4 (permalink)  
Antiguo 13/10/2008, 08:59
 
Fecha de Ingreso: julio-2008
Ubicación: Hermosillo, Sonora
Mensajes: 95
Antigüedad: 15 años, 9 meses
Puntos: 3
Respuesta: Consulta rango de fechas con Between.

Cita:
Iniciado por flaviovich Ver Mensaje
Lo que pasa es que las fechas en SQL Server se guardan con las horas, y si no las especificamos toman el valor por defecto que es 00:00:00.
Entonces, si tu buscas las fechas entre el 09-10-2008 y el 12-10-2008 la busqueda sera hasta el 12 de octubre de la media noche. En otras palabras solo busca hasta el 11 de octubre.
Si quieres que busque todo el dia completo puedes aumentar las horas, aunque seria mejor aumentar un dia: 13-10-2008.
Yo creo que sería mejor aumentarle las horas de esta manera:
@fecha = convert(char(10), @f, 103) + ' 23:59'
O el formato que uses de fechas para el servidor...
  #5 (permalink)  
Antiguo 13/10/2008, 10:34
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: Consulta rango de fechas con Between.

Este tema, del uso de campos fecha en SQL Server se ha tratado mas de 1 vez en estos foros, seria conveniente que utilizaras la busqueda y leyeras un poco sobre el tema.

Tambien es conveniente mencionar que cuando se utiliza un CONVERT sobre una comparacion, no se hacen uso de los indices de la tabla.
  #6 (permalink)  
Antiguo 13/10/2008, 11:31
 
Fecha de Ingreso: junio-2006
Mensajes: 18
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Consulta rango de fechas con Between.

Disculpa pero siempre reviso antes de preguntar para no llenar de basura el foro, al menos lo que comentaba el buen amigo mas arriba no lo habia visto en la busqueda.Si estaba y no me percate pues sorry.Agradesco las respuestas un abrazo.
  #7 (permalink)  
Antiguo 13/10/2008, 12:05
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: Consulta rango de fechas con Between.

Bueno, te doy la liga donde se menciona el tema, saludos

http://msmvps.com/blogs/maxiaccotto/...de-fechas.aspx
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 12:15.