Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/05/2009, 11:04
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

Si no pones AND en vez de OR en la sentencia en la comparación te dará siempre el mismo error de datos devueltos que usando BETWEEN.
Para tomar sólo los registros comprendidos entre las dos cotas debe ir si o si AND, no OR.
Si lo usas así
Código sql:
Ver original
  1. SELECT *
  2. FROM tbduser
  3. WHERE usuario='Miguel' AND (Hr_i>='04:00:00' AND Hr_f<='13:00:00');
Te devolverá esto:
Código:
SELECT * FROM tbduser WHERE usuario='Miguel' and (Hr_i>='04:00:00' or Hr_f<='13:00:00');
+--------+---------+--------------+------+----------+----------+-------------+-------------+---------------------+---------------------+
| Codigo | Usuario | Tuso | Hr_i     | Hr_f     | User_Insert | User_Update | Date_Insert         | Date_Update         |
+--------+---------+--------------+------+----------+----------+-------------+-------------+---------------------+---------------------+
|     36 |Miguel   | 2    | 05:00:00 | 07:00:00 | Carlo        |Carlo        | 2009-05-25 00:00:00 | 2009-05-25 00:00:00 |
+--------+---------+--------------+------+----------+----------+-------------+-------------+---------------------+---------------------+
1 rows in set (0.00 sec)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)