"SELECT * FROM WHERE HORAS = 7:00:00" BUSCAR HORAS NO FUNCIONA

HAAL79
02 de Enero del 2005
TENGO EL SIGUIENTE PROBLEMA EL SELECT CREO QUE NO PUEDE BUSCAR HORAS, SEGUN HE LEIDO NO VEO NADA DE NADA QUE BUSQUE HORA, SI ALGUIEN SABE COMO HACERLO O QUE TIPO DE CARACTER ES NECESARIO COLOCAR GRACIAS DE ANTE MANOS, ACONTINUACION UNOS EJEMPLO DE BUSQUEDA Y EN NINGUNA DE ELLAS OBSERVE HORA


He aquí algunos ejemplos que ilustran el uso de esta cláusula:
SELECT * FROM clientes WHERE nombre='ALFREDO';
Selecciona todos los campos de la tabla 'clientes', pero los registros de todos aquellos clientes que se llamen 'ALFREDO'.
SELECT * FROM abonados WHERE provincia='MADRID' OR provincia='VALENCIA OR provincia='BARCELONA';
Selecciona todos los campos de la tabla 'abonados', pero los registros de todos los abonados de las provincias de 'MADRID', 'VALENCIA' o 'BARCELONA'.
SELECT nombre, apellidos FROM abonados WHERE edad>=18;
Selecciona los campos 'nombre' y 'apellidos' de la tabla abonados, escogiendo a aquellos abonados que sean mayor de edad (a partir de 18 años).
SELECT * FROM abonados WHERE edad>=18 AND edad<=45;
Selecciona todos los abonados con edades comprendidas entre los 18 y los 45 años.
SELECT * FROM abonados WHERE edad BETWEEN 18 AND 45;
Selecciona todos los abonados con edades comprendidas entre los 18 y los 45 años.
SELECT * FROM diario WHERE fecha=#7/1/97#;
Selecciona los apuntes de 'diario' realizados el 1 de Julio de 1.997 (la fecha ha de indicarse en inglés (mes/día/año)).
SELECT * FROM diario WHERE fecha<=#12/31/96#;
Selecciona los apuntes de 'diario' realizados antes del 1 de Enero de 1.997.
SELECT * FROM diario WHERE fecha BETWEEN #7/1/97# AND #7/31/97#;
Selecciona los apuntes de 'diario' realizados en Julio de 1.997.
SELECT * FROM clientes WHERE nombre LIKE 'AL*';
Selecciona los clientes cuyo nombre comience con los caracteres 'AL'.
SELECT * FROM clientes WHERE apellidos LIKE '*EZ';
Selecciona los clientes cuyos apellidos terminen con los caracteres 'EZ'.
SELECT * FROM clientes WHERE apellidos LIKE '*ZAMO*'
Selecciona los clientes cuyos apellidos contengan, en cualquier posición, los caracteres 'ZAMO'.
SELECT * FROM clientes WHERE provincia IN ('MADRID', 'BARCELONA',
'VALENCIA','TOLEDO', 'AVILA');
Selecciona todos los clientes de las provincias de MADRID, BARCELONA, VALENCIA,
TOLEDO o AVILA.


l_island
02 de Enero del 2005
Supongamos que estamos hablando de Access, aunque en SQL es muy parecido; entonces tenemos que las horas las guardamos en un campo de tipo Date/Time, es imprescindible que se hayan guardado formateadas "dd/mm/yyyy HH:mm:ss" (tambien puede ser el Now) o mas sencillo "HH:mm:ss"; dado que es un campo de tipo Date/Time hay que tener la misma consideración que con las fechas, hay que comparar formateando:

"SELECT * FROM WHERE format(HORAS, 'HH:mm:ss") = Format('7:00:00', 'HH:mm:ss')"

Si solo guardas horas y minutos basta con hacer:

"SELECT * FROM WHERE HORAS =~#" & format(MiHora, "HH:mm") & "#"

Hay algunas variantes más, si me das algunas pistas más (SQL o Acces, como guardas el campo y algo más que se te ocurra) te podré contar más cosas.

Saludos y Feliz Año!!
l_island