Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/05/2009, 09:22
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: between entre dos horas

La sentencia en sí es esencialmente correcta (solamente son innecesarios los paréntesis que encierran esto: usuario='miguel'). Lo que debes comprender es qué es lo que te devuelven: Te devolverá registros si hr_i esta entre '00:00:00' y '08:00:00', pero también si hr_f está entre '00:00:00' y '08:00:00'.
Esto implica que si se pone una hora cruzada, por ejemplo, '03:35:39' y '08:21:15', también te lo devolverá.
No queda claro si estás considerando estas dos alternativas (cruzado al inicio y cruzado al final), por lo que te lo menciono.
Si lo que quieres es el rango contenido entre las cotas de tiempo, BETWEEN por allí no es funcional, porque lo que tienes que hacer es comparar cad campo con una sola cota:

Código sql:
Ver original
  1. SELECT *
  2. FROM tbduser
  3. WHERE usuario='miguel'
  4. AND (hr_i >=  '00:00:00'  AND hr_f <= '08:00:00');
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)