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

#6 Zman
24/06/2004 - 17:29 | Informe spam
Pues no entinedo nada... tampoco me encuentra nada. Os aseguro que tengo
datos con fecha como las que pongo.

La verdad es que no tiene demasiado misterio, o no debería desde luego, pero
me estoy volviendo loco.

Haré algunas pruebas y os las comentaré.

Gracias otra vez.

escribió en el mensaje
news:20ed901c459fb$6b3eaef0$
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
#7 Dani Castillo
25/06/2004 - 08:14 | Informe spam
uhm se complica =) ¿q tipo de bd es?

por si acaso, empieza a simplificar codigo , empieza por una consulta del
tipo
Select * from tabla where fecha>=#1/1/71#

o pasada a canonica
Select * from tabla where fecha>=#1971-1-1#


asi, tecleada directamente sin request.form ni similares (por si hay un
error en otro lado y solo forzando a mayor q una fecha) prueba hasta dar el
formato bueno para tu bd a ver si hay suerte

tb revisa la configuracion de fechas de tu servidor, si esta en americano el
formato no canonico es mes/dia/año de todas formas yo cuando me lio en cosas
asi intento primero con sql's "fabricadas a mano" y lo mas sencillas
posibles, cuando te funcione con el > y la fecha tecleada directamente el
paso a < y > y request.form es rapido =)
____________________________
Daniel Castillo Martinez
Ajuntament d'Alaquàs. Societat de la Informació

____________________________
"Zman" escribió en el mensaje
news:
Pues no entinedo nada... tampoco me encuentra nada. Os aseguro que tengo
datos con fecha como las que pongo.

La verdad es que no tiene demasiado misterio, o no debería desde luego,


pero
me estoy volviendo loco.

Haré algunas pruebas y os las comentaré.

Gracias otra vez.

escribió en el mensaje
news:20ed901c459fb$6b3eaef0$
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
#8 Jhonny Vargas P.
26/06/2004 - 03:52 | Informe spam
Hola Zman,

Si estas usando SQL Server debes utilizar el formato de fecha 'yyyymmdd' o
'yyyymmdd hh:mm:ss', este es un standar por lo tanto no vas a tener
problemas.

Ejemplo:

Select * from tabla where fecha between '20040510' and '20040515'



PD: para Access debes utilizar el formato #yyyy/mm/dd#

Saludos,
Jhonny Vargas P. [MVP]
Santiago de Chile





"Zman" escribió en el mensaje
news:%23fp$
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
#9 Zman
06/07/2004 - 16:48 | Informe spam
Muchas muchas gracias a todos,

al final había que consultarlo utilizando fechas canónicas (tal y como
explicó Dani Castillo) pero había que poner las comillas sencillas
conteniendo cada fecha.

Y ya estaba, ahora funciona perfectamente.

Gracias otra vez.

Zman

"Jhonny Vargas P." escribió en el mensaje
news:
Hola Zman,

Si estas usando SQL Server debes utilizar el formato de fecha 'yyyymmdd' o
'yyyymmdd hh:mm:ss', este es un standar por lo tanto no vas a tener
problemas.

Ejemplo:

Select * from tabla where fecha between '20040510' and '20040515'



PD: para Access debes utilizar el formato #yyyy/mm/dd#

Saludos,
Jhonny Vargas P. [MVP]
Santiago de Chile





"Zman" escribió en el mensaje
news:%23fp$
> 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
>
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida