Comparar fechas en SELECT

22/06/2004 - 16:53 por Zman | Informe spam
Hola a todo el mundo,

estoy haciendo una búsqueda en una base de datos donde me escriben la fecha
de inicio y la fecha final y tengo que obtener los registros que lo cumplen,
la instrucción que estoy utilizando es la siguiente:

Select * from tabla where fecha>="&cdate(request.form("fechai"))&" and
fecha<="&cdate(request.form("fechaf"))

No sé porqué pero no me encuentra ninguno, supongo que es algún tipo de
problema de tipos u otra cosa, la base de datos está en SQL, influye?

Gracias de antemano

Preguntas similare

Leer las respuestas

#1 Orlando Rios
22/06/2004 - 17:44 | Informe spam
Me pasaba lo mismo, pues por ejemplo en access te guada
la fecha dd/mm/año pero resulta que al realizar una
busqueda con sql es mm/dd/año por lo tanto te conviene
hacer los siguiente:

fecha_inicio=' es el valor de la fecha desde
fecha_fin='fecha hasta
fecha_alta' es el nombre de mi campo

where fecha_alta >= #"& mid(Request.Form
("fecha_inicio"),4,2)&"/"& mid(Request.Form
("fecha_inicio"),1,2) &"/"& mid(Request.Form
("fecha_inicio"),7)&"# and fecha_alta <= #" & mid
(Request.Form("fecha_fin"),4,2)& "/" & mid(Request.Form
("fecha_fin"),1,2) & "/" & mid(Request.Form
("fecha_fin"),7)&"#"
Respuesta Responder a este mensaje
#2 Zman
24/06/2004 - 00:14 | Informe spam
Gracias por contestar Orlando, he hecho lo que indicas pero no me funciona,
lo miraré más detenidamente.

Gracias otra vez.


"Orlando Rios" escribió en el mensaje
news:1f7ac01c4586f$c0667210$
Me pasaba lo mismo, pues por ejemplo en access te guada
la fecha dd/mm/año pero resulta que al realizar una
busqueda con sql es mm/dd/año por lo tanto te conviene
hacer los siguiente:

fecha_inicio=' es el valor de la fecha desde
fecha_fin='fecha hasta
fecha_alta' es el nombre de mi campo

where fecha_alta >= #"& mid(Request.Form
("fecha_inicio"),4,2)&"/"& mid(Request.Form
("fecha_inicio"),1,2) &"/"& mid(Request.Form
("fecha_inicio"),7)&"# and fecha_alta <= #" & mid
(Request.Form("fecha_fin"),4,2)& "/" & mid(Request.Form
("fecha_fin"),1,2) & "/" & mid(Request.Form
("fecha_fin"),7)&"#"
Respuesta Responder a este mensaje
#3 Dani Castillo
24/06/2004 - 08:17 | Informe spam
intenta con fechas en formato canonico yyyy-mm-dd y puestas entre #

sql=" Select * from tabla where
(fecha>=#"& fechacanonica(cdate(request.form("fechai")))&"#) and
( fecha<= #" & fechacanonica(cdate(request.form("fechaf"))) & "#)"


function FechaCanonica(t)
dim f,y,m
y=year(t)
if y<100 then y=y+2000
mt=Minute(t)
if mt<10 then mt="0" & mt

f= y & "-" & Right(Cstr(month(t) + 100),2) & "-" & Right(Cstr(day(t) +
100),2) & " " & hour(t) & ":" & mt

FechaCanonica=f
end function



____________________________
Daniel Castillo Martinez
Ajuntament d'Alaquàs. Societat de la Informació

____________________________
"Zman" escribió en el mensaje
news:#fp$
Hola a todo el mundo,

estoy haciendo una búsqueda en una base de datos donde me escriben la


fecha
de inicio y la fecha final y tengo que obtener los registros que lo


cumplen,
la instrucción que estoy utilizando es la siguiente:

Select * from tabla where fecha>="&cdate(request.form("fechai"))&" and
fecha<="&cdate(request.form("fechaf"))

No sé porqué pero no me encuentra ninguno, supongo que es algún tipo de
problema de tipos u otra cosa, la base de datos está en SQL, influye?

Gracias de antemano




Respuesta Responder a este mensaje
#4 Zman
24/06/2004 - 15:50 | Informe spam
En los dos casos, el de Orlando y el tuyo Dani, me ocurre lo mismo, me dice
que hay un error cerca del #, si los quito no me da ese error pero no me
funciona, no me encuentra nada y hay cosas.

Alguna idea más?

Gracias por todo.


"Dani Castillo" <danicastilloarrobahotmail.com> escribió en el mensaje
news:
intenta con fechas en formato canonico yyyy-mm-dd y puestas entre #

sql=" Select * from tabla where
(fecha>=#"& fechacanonica(cdate(request.form("fechai")))&"#) and
( fecha<= #" & fechacanonica(cdate(request.form("fechaf"))) & "#)"


function FechaCanonica(t)
dim f,y,m
y=year(t)
if y<100 then y=y+2000
mt=Minute(t)
if mt<10 then mt="0" & mt

f= y & "-" & Right(Cstr(month(t) + 100),2) & "-" & Right(Cstr(day(t) +
100),2) & " " & hour(t) & ":" & mt

FechaCanonica=f
end function



____________________________
Daniel Castillo Martinez
Ajuntament d'Alaquàs. Societat de la Informació

____________________________
"Zman" escribió en el mensaje
news:#fp$
> Hola a todo el mundo,
>
> estoy haciendo una búsqueda en una base de datos donde me escriben la
fecha
> de inicio y la fecha final y tengo que obtener los registros que lo
cumplen,
> la instrucción que estoy utilizando es la siguiente:
>
> Select * from tabla where fecha>="&cdate(request.form("fechai"))&" and
> fecha<="&cdate(request.form("fechaf"))
>
> No sé porqué pero no me encuentra ninguno, supongo que es algún tipo de
> problema de tipos u otra cosa, la base de datos está en SQL, influye?
>
> Gracias de antemano
>
>
>
>


Respuesta Responder a este mensaje
#5 Anonimo
24/06/2004 - 16:56 | Informe spam
Lo ideal es usar el siguiente select
Select * from tabla where fecha between "&request.form
("fechai")&" and "&request.form("fechaf")

saludos.-
Luis O.


Hola a todo el mundo,

estoy haciendo una búsqueda en una base de datos donde


me escriben la fecha
de inicio y la fecha final y tengo que obtener los


registros que lo cumplen,
la instrucción que estoy utilizando es la siguiente:

Select * from tabla where fecha>="&cdate(request.form


("fechai"))&" and
fecha<="&cdate(request.form("fechaf"))

No sé porqué pero no me encuentra ninguno, supongo que


es algún tipo de
problema de tipos u otra cosa, la base de datos está en


SQL, influye?

Gracias de antemano




.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida