Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/01/2011, 09:15
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, 4 meses
Puntos: 2658
Respuesta: Seleccionar registros que cumplan el rango de tiempo

DATEDIFF() te devuelve el valor en diías entre dos fechas, por lo que no resulta adecuado para calcular una diferencia de minutos. En todo caso lo que te conviene es usar TIMEDIFF() o TIMESTAMPDIFF() contra CURTIME() o NOW() y no contra CURDATE().
La idea sería mas o menos así:
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla
  3. WHERE TIMESTAMPDIFF(MINUTE, fecha_hora, NOW()) <=60;
o bien algo así:
Código MySQL:
Ver original
  1. SELECT TIMEDIFF(NOW(), '2011-01-10 13:59:59')<='01:00:00';
Solamente debes recordar que las funciones que usan DATETIMEs son sensibles a nivel de segundos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)