Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/11/2011, 16:15
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: resultado Dinamico

Hola enriquecm:

Compara por un lado sólo las fechas y por otro lado sólo las horas... con las funciones DATE() y TIME() puedes extraer sólo la fecha y sólo la hora de un campo tipo datetime respectivamente... sería más o menos así:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE TuTabla (tiempo DATETIME, nombre VARCHAR(20));
  2. Query OK, 0 rows affected (0.08 sec)
  3.  
  4. mysql> INSERT INTO TuTabla VALUES
  5.     -> ('2011-10-14 09:07:00', 'Shrek de Fiona'),
  6.     -> ('2011-10-14 09:06:00', 'Pedro Marmol'),
  7.     -> ('2011-10-14 09:14:00', 'Micky Mouse'),
  8.     -> ('2011-10-14 09:17:00', 'Memin Pinguin'),
  9.     -> ('2011-11-14 09:17:00', 'Shrek de Fiona'),
  10.     -> ('2011-11-14 09:06:00', 'Pedro Marmol'),
  11.     -> ('2011-11-14 09:04:00', 'Micky Mouse'),
  12.     -> ('2011-11-14 09:13:00', 'Memin Pinguin');
  13. Query OK, 8 rows affected (0.06 sec)
  14. Records: 8  Duplicates: 0  Warnings: 0
  15.  
  16. mysql> SELECT * FROM TuTabla;
  17. +---------------------+----------------+
  18. | tiempo              | nombre         |
  19. +---------------------+----------------+
  20. | 2011-10-14 09:07:00 | Shrek de Fiona |
  21. | 2011-10-14 09:06:00 | Pedro Marmol   |
  22. | 2011-10-14 09:14:00 | Micky Mouse    |
  23. | 2011-10-14 09:17:00 | Memin Pinguin  |
  24. | 2011-11-14 09:17:00 | Shrek de Fiona |
  25. | 2011-11-14 09:06:00 | Pedro Marmol   |
  26. | 2011-11-14 09:04:00 | Micky Mouse    |
  27. | 2011-11-14 09:13:00 | Memin Pinguin  |
  28. +---------------------+----------------+
  29. 8 rows in set (0.00 sec)
  30.  
  31. mysql> SELECT * FROM TuTabla
  32.     -> WHERE DATE(tiempo) BETWEEN '2011-10-14' AND '2011-11-14'
  33.     -> AND TIME(tiempo) >= '09:10:00';
  34. +---------------------+----------------+
  35. | tiempo              | nombre         |
  36. +---------------------+----------------+
  37. | 2011-10-14 09:14:00 | Micky Mouse    |
  38. | 2011-10-14 09:17:00 | Memin Pinguin  |
  39. | 2011-11-14 09:17:00 | Shrek de Fiona |
  40. | 2011-11-14 09:13:00 | Memin Pinguin  |
  41. +---------------------+----------------+
  42. 4 rows in set (0.00 sec)

Observa que la primer parte utiliza la función DATE y la función BETWEEN para traer los registros de entre esas fechas, en la segunda parte simplemente compara que la hora sea después de las 9:10 (tomando la tolerancia). para el límite de los 30 minutos podrías usar también un between.

Saludos
Leo.