Comment comparer deux horodateurs dans MySql?
Le champ timestamp est un DATETIME
colonne dans un format comme 2012-03-19 00:23:14
. Comment puis-je comparer les deux lignes de l'horodatage et de trouver le plus grand? La requête ci-dessous que j'utilise ne fonctionne pas.
UPDATE report 1 status = 'time is larger' WHERE EXISTS
(SELECT ip_src, layer4_sport, timestamp FROM
(SELECT ip_src, layer4_sport, timestamp from report 1) AS tmpb
WHERE report 1.layer4_sport = tmpb.layer4_sport
AND report 1.ip_src = tmpb.ip_src
AND report 1.timestamp > tmpb.timestamp
GROUP BY ip_src, layer4_sport, timestamp HAVING COUNT(*) = 2)
De quel type sont vos 'timestamp' colonnes? Je demande parce que si ils sont de type TIMESTAMP ou DATETIME, le
Il est de type DATETIME.
>
opérateur devrait fonctionner parfaitement.Il est de type DATETIME.
OriginalL'auteur Aymen | 2012-04-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer d'utiliser une instruction if pour valider si le timestamp est plus grand que B timestamp.
consulter le tableau dans cette image, si tu veux. filaty.com/i/1204/11946/Untitled.jpg
Je pense que le problème est le EXISTE déclaration, essayez d'utiliser une DANS l'énoncé. Dans la sous-requête maintenant vous avez seulement besoin de retourner l'identificateur de ligne qui sera mise à jour
Comment puis-je utiliser DANS l'énoncé?!! La condition dans la sous-requête doit être réalisé et que je pense qu'il n'est peut être avec EXISTE déclaration. De toute façon, si vous pouvez m'aider pour modifier la requête et de la faire fonctionner sans EXISTE, merci de l'écrire pour moi. Merci
remarque lorsque je supprime tous penser liées à l'horodatage, la mise à jour fonctionne très bien!
OriginalL'auteur Yago Riveiro
essayer le
UNIX_TIMESTAMP()
,UNIX_TIMESTAMP(date)
fonctions pour comparer les deux horodateurs.http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp
OriginalL'auteur Ashwini Chaudhary
Grâce à Dieu, la requête est OK maintenant.
Le manque de syntaxe SET après le nom de la table, et aussi d'un GROUPE PAR la syntaxe doit être omis de EXISTE.
OriginalL'auteur Aymen