Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/08/2010, 04:34
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: Consultas con horas (disponibilidad según horario)

Lo que te pregunto de qué formato usas para la hora es importante en este contexto porque MySQL no puede interpretar cualquier cosa como una hora.
Sea, por ejemplo:
Código MySQL:
Ver original
  1. mysql> SELECT CURTIME() , CURTIME() BETWEEN  '7:20' AND '7:30';
  2. +-----------+--------------------------------------+
  3. | CURTIME() | CURTIME() BETWEEN  '7:20' AND '7:30' |
  4. +-----------+--------------------------------------+
  5. | 07:27:31  |                                    0 |
  6. +-----------+--------------------------------------+
  7. 1 row in set (0.00 sec)

Sin embargo, si lo comparo con una hora real:
Código MySQL:
Ver original
  1. mysql> SELECT CURTIME() , CURTIME() BETWEEN  '07:20:00' AND '07:30:00';
  2. +-----------+----------------------------------------------+
  3. | CURTIME() | CURTIME() BETWEEN  '07:20:00' AND '07:30:00' |
  4. +-----------+----------------------------------------------+
  5. | 07:29:29  |                                            1 |
  6. +-----------+----------------------------------------------+
  7. 1 row in set (0.00 sec)
Es decir que para poder responder TRUE o FALSE, el formato de un dato de tipo TIME o DATE debe ser correcto o no responderá.
En tu caso hay dos posibilidades:
- Si la tabla usa un INT para los campos entrada y salida, usar un INT como valor de $horaactual es correcto y la sintaxis sería:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE '$horaactual' NOT BETWEEN salida AND entrada;
o bien
Código MySQL:
Ver original
  1. FROM tabla WHERE
  2.     ('$horaactual' BETWEEN 0 AND salida) OR  
  3.     ('$horaactual' BETWEEN entrada AND 24)
- Si entrada y salida son TIME, la variable $horaactual debe respetar el formato de HH:mm:ss.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)