Si usaras un datetime lo tendrias solucionado, creo
Tienes la funcion
TIMESTAMP(expr1,expr2)
que te permitirá construir el DATETIME
http://dev.mysql.com/doc/refman/5.0/...erator_between Cita: expr BETWEEN min AND max
Si expr es mayor o igual que min y expr es menor o igual a max, BETWEEN retorna 1, de otro modo retorna 0. Esto es equivalente a la expresión (min <= expr AND expr <= max) si todos los argumentos son del mismo tipo. De otro modo la conversión de tipos tiene lugar según las reglas descritas al principio de la sección, pero aplicadas a todos los argumentos.
mysql> SELECT 1 BETWEEN 2 AND 3;
-> 0
mysql> SELECT 'b' BETWEEN 'a' AND 'c';
-> 1
mysql> SELECT 2 BETWEEN 2 AND '3';
-> 1
mysql> SELECT 2 BETWEEN 2 AND 'x-3';
-> 0
En la version en ingles del manual hay un ejemplo muy claro
mysql> SELECT 2 BETWEEN 1 AND 3, 2 BETWEEN 3 and 1;
-> 1, 0
es
falso que 2 este entre 3 y 1 mientras que es
cierto que 2 esta entre 1 y 3