bonjour a vous.

je vous passe mes 10en d’essay qui n’on pas fonctionné.

je chercher a comparé deux dates au niveau de leurs jours/mois/annees/heures/minutes mais pas les seconde

WHERE date_rgstr = date_last_visit

merci de votre aide.

5 réponses


Bonsoir.
D'après ce que tu montres, ça ne concerne que le SQL et non le PHP, ton sujet devrait donc se situer dans le forum MySQL et non dans PHP.
Dans ce cas là, tu devrais vérifier les formats acceptés en SQL pour les champs de typeDATE/TIME et tu verras que ce que tu demandes uniquement en SQL n'est pas possible.

Regarde du côté de DATE_FORMAT qui te permet de mettre une date au format désiré et donc après tu pourras comparer comme tu le veux.

clementp
Auteur

@Lartak je me suis dit que le forum mySQL etait en rapport avec le logiciel mySQL et que les requette retourné plus de la section php.

@JacobDelcroix oui pour les comparé dans un if ensuite ?!

Il faudrait plus d'information sur ce que tu veux comparer et surtout dans quel but.
Voir si il n'y a pas une solution plus evidente.
Pour ma part j'ai par exemple ce type de requete sur mon site pour comparer une date par rapport à un temps ecoulé (en heures, mois, semaines...).

$sql = "update ".T_UTILISATEURS." set connecter = 0 where date_last_connect < CURRENT_TIMESTAMP - interval 24 hour";

Mon champ date_last_connect est au format DATETIME et en CURRENT_TIMESTAMP pour la valeur par default.
Ca compare mon date_last_connect à la date actuelle à laquelle je soustrait la durée que je souhaite.
En l'occurence 24h ici.

Tu peux essayer quelques chose dans ce genre.
"Je veux recuperer toutes les lignes ou date_last_visit est superieur de 1h à date_rgstr"

WHERE  date_last_visit > date_rgtsr + interval 1 hour

Si tu utilise = pour comparer 2 dates , il y a peu de chance que ca te retourne un resultat.