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

Ayuda en busqueda entre dos rangos de fechas

Estas en el tema de Ayuda en busqueda entre dos rangos de fechas en el foro de SQL Server en Foros del Web. Saludos Se me presenta el siguiente problema, intento realizar una busqueda entre un rango de fecha (desde, hasta) uno de los campos es datatime y ...
  #1 (permalink)  
Antiguo 06/02/2007, 22:33
 
Fecha de Ingreso: julio-2005
Mensajes: 3
Antigüedad: 19 años, 5 meses
Puntos: 0
Ayuda en busqueda entre dos rangos de fechas

Saludos

Se me presenta el siguiente problema, intento realizar una busqueda entre un rango de fecha (desde, hasta) uno de los campos es datatime y los comparon con texto aqui le coloco el query que utilizo:


"select * from pr a, preguntas b where CONVERT(VARCHAR(12),Fecha_Resp,103)>='01/02/2007' and CONVERT(VARCHAR(12),Fecha_Resp,103)<='06/04/2007' "


Tambien he probado el Between, el problema es el siguiente:

"Me trae todos los datos que esten detro de los dos primeros digitos (en este ejm de 01 ha 06 ) y no está tomando en cuenta los meses ni el año".


Si algunos de ustedes saben el porque a mi problema agradeceria su ayuda.
  #2 (permalink)  
Antiguo 07/02/2007, 10:37
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años, 1 mes
Puntos: 8
Re: Ayuda en busqueda entre dos rangos de fechas

Que tal Jesús.

La parte que esta mal, es que estas tratando las fechas como cadenas, entonces si tenemos las siguientes fechas:
'01/02/2007' , '16/03/2007', y '06/04/2007'
y las ordenamos , tendríamos lo siguiente:

'01/02/2007' , '06/04/2007' y '16/03/2007'.

Y es por eso que la tercera "fecha" no entra en el rango.

Lo que yo aconsejo, en estos casos de manejar la fecha, como cadena o como entero es manejarlas en el formato AAAAMMDD. Y esto funciona para cualquier lenguaje(vb, c#, asp, java, vbscript, jscript, etc.) y para cualquier base de datos. De esta manera se esta tomando en cuenta el año, mes y día.

Para tu caso en especifíco lo siguiente funciona perfectamente.
Código:
"select * from pr a, preguntas b where CONVERT(VARCHAR(12),Fecha_Resp,112)>='20070201' and CONVERT(VARCHAR(12),Fecha_Resp,112)<='20070406' "
Saludos y suerte!!
  #3 (permalink)  
Antiguo 11/02/2007, 06:03
 
Fecha de Ingreso: julio-2006
Mensajes: 9
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Ayuda en busqueda entre dos rangos de fechas

Intenta con esta consulta ,actualmente la uso y me va de maravilla
mas o menos quedaria asi:
SELECT *
FROM pr a, preguntas b
WHERE Fecha_Resp >=convert(datetime, '28/10/2006',103) //aqui va la fecha desde
and
Fecha_Resp <=convert(datetime, '06/02/2007',103) //aqui va la fecha hasta

esta comprobadisima dicha consulta.
saludos coordiales.
espero que respondas si te sirvio o no!!!!
  #4 (permalink)  
Antiguo 12/02/2007, 12:21
 
Fecha de Ingreso: julio-2005
Mensajes: 3
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Ayuda en busqueda entre dos rangos de fechas

Gracias me ayudaron sus recomendaciones

Saludos
  #5 (permalink)  
Antiguo 14/02/2007, 12:47
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 8 meses
Puntos: 25
Re: Ayuda en busqueda entre dos rangos de fechas

¿No es más sencillo algo como esto?

SELECT * FROM tabla
WHERE fecha BETWEEN '2006-01-01' AND '2006-01-25'

Procura usar siempre el formato aaaammdd o aaaa-mm-dd, te evitará complicaciones adicionales.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #6 (permalink)  
Antiguo 11/05/2007, 13:43
Avatar de Jhdezc  
Fecha de Ingreso: mayo-2007
Ubicación: Costa Rica
Mensajes: 1
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Ayuda en busqueda entre dos rangos de fechas

Talvez es algo tarde, pero bueno, esto puede ser un aporte con algunas diferencias, solo que lo deje tal y como tengo la consulta:

SELECT Fecha_Registro, Consecutivo

FROM r_solicitud, useretiro_opc

WHERE

DATE_FORMAT(r_solicitud.Fecha_Registro, '%Y-%m-%d') between '2006-01-1' and '2006-04-30'

Yo tengo las fechas registradas con todo y hora por necesidad, así que para el between eso no me sirve.

Saludos.
  #7 (permalink)  
Antiguo 28/06/2007, 16:38
 
Fecha de Ingreso: abril-2005
Mensajes: 1
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Re: Ayuda en busqueda entre dos rangos de fechas

Gracias mis hermanos fue de mucha ayuda todos sus soluciones.

yo resolvi mi problema de la siguiente manera:

sqlins = FormatoFechaSQL _
& " SELECT * " _
& " FROM IN_prod " _
& " WHERE Codigo_Empresa = " & gstProyecto _
& " AND CONVERT(VARCHAR(10),Fecha_Modificacion,112) " _
& " BETWEEN " & ' & Format(WFechaIni, "yyyymmdd") & ' _
& " AND " & ' & Format(WFechaFin, "yyyymmdd") & '


Set WRsINProd = gstCurrentADOConn.Execute(sqlins)
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 00:26.