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

Hola bon3:

Complementando el comentario de Nano_, podrías también hacer una comparación por partes, es decir comparando solo el año y el mes, para no tener que involucrar a los días ni las horas, checa este script:

Código MySQL:
Ver original
  1. mysql> create table fechas (fecha datetime);
  2. Query OK, 0 rows affected (0.31 sec)
  3.  
  4. mysql> insert into fechas values ('2011-08-31'), ('2011-09-01 00:00:01'),
  5.     -> ('2011-11-30 23:59:59'),('2011-12-31 23:59:59'),('2012-01-01 00:00:01');
  6. Query OK, 5 rows affected (0.08 sec)
  7. Records: 5  Duplicates: 0  Warnings: 0
  8.  
  9. mysql> select * from fechas;
  10. +---------------------+
  11. | fecha               |
  12. +---------------------+
  13. | 2011-08-31 00:00:00 |
  14. | 2011-09-01 00:00:01 |
  15. | 2011-11-30 23:59:59 |
  16. | 2011-12-31 23:59:59 |
  17. | 2012-01-01 00:00:01 |
  18. +---------------------+
  19. 5 rows in set (0.07 sec)
  20.  
  21. mysql> select * from fechas where year(fecha) = 2011 and
  22.     -> month(fecha) between 9 and 12;
  23. +---------------------+
  24. | fecha               |
  25. +---------------------+
  26. | 2011-09-01 00:00:01 |
  27. | 2011-11-30 23:59:59 |
  28. | 2011-12-31 23:59:59 |
  29. +---------------------+
  30. 3 rows in set (0.07 sec)

observa que la ultima consulta te regresa todos los registros comprendidos entre el primer instante del día 9 de septiembre de 2011 hasta el último segundo del día 12 de Diciembre de 2011.

Dale una revisada a todas las Funciones de Fecha y Hora que proporciona MySQL, como te darás cuenta con bastantes y te podrán servir en un futuro.

Saludos
Leo.