2011-07-29 8 views
1

J'ai une table qui a un start_time sur le terrain avec des enregistrements follwing:Mysql Date et heure Différence

2011-07-26 14:30:00 
    2011-07-28 08:00:00 

Ce que je dois faire est de comparer le champ start_time avec la date de l'heure et montrent uniquement les enregistrements si la différence entre eux est inférieure à 5 minutes. Il devrait afficher les enregistrements de date ne

C'est ce que j'ai essayé:

SELECT * FROM jqcalendar WHERE StartTime <= NOW() - INTERVAL 5 MINUTE 
+0

Vous devrez peut-être préciser votre question au lieu de répéter le même commentaire encore. Au moins, votre requête ne montre aucune tentative pour afficher "les enregistrements de la date du jour seulement", vous devez également vous assurer que vos données d'exemple contiennent des données "d'aujourd'hui" (2011-07-28 était hier où j'habite). – Select0r

+0

@rajesh: Que voulez-vous dire par "si le datetime actuel (système) est inférieur à 5 min"? En comparaison avec la valeur 'StartDate'? Donc 'StartDate' est dans le futur? –

Répondre

2

Majeures fonction TIMEDIFF (date1, date2)

select * from jqcalendar WHERE TIMEDIFF(now(), StartDate) < 500 

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timediff

+0

son ne montre pas les enregistrements de la date actuelle. Je n'ai besoin que des enregistrements de date actuels – rajesh

+0

il suffit de changer les arguments dans la fonction. il devrait être TIMEDIFF (now(), StartDate) –

+0

@MartinTaleski: Qu'est-ce que '5' dans votre exemple? Est-ce minute, jour, ...? La référence MySQL n'est peut-être pas claire sur la conversion du résultat 'TIMEDIFF' en nombre. –

1

Avez-vous essayé

StartTime > NOW() - INTERVAL 5 MINUTE 

? Je pense que vous venez de faire le tour de votre opérateur.

+0

Ses données ne sont pas disponibles pour le moment. Je n'ai besoin que des enregistrements de la date actuelle – rajesh

0

TIMESTAMPDIFF(MINUTE,start_time,now()) < 5

+0

pouvez-vous élaborer sur votre code s'il vous plaît? – dgilperez

+0

différence de temps entre maintenant et start_time si moins de 5 minutes alors oui. – raulsi

+0

@raulsi Envisager de modifier la réponse pour incorporer le commentaire – Strawberry