Si vous comparez avec TIMESTAMP
champs, vous devez utiliser des valeurs de comparaison dans le fuseau horaire du serveur. Vous pouvez déterminer le fuseau horaire du serveur via :
SELECT @@time_zone;
Par conséquent, si vous avez exécuté
SET NAMES time_zone = "+0:00";
alors vous utiliserez des valeurs basées sur UTC.
C'est parce que TIMESTAMP
les champs sont stockés dans MySQL en UTC, et sont convertis dans le fuseau horaire du serveur avant affichage (ou comparaison).
Remarque :si vous comparez avec DATETIME
champs ou TIME
champs, vous devrez utiliser une valeur de comparaison dans le même fuseau horaire que celui utilisé lorsque la valeur a été insérée dans le champ.
C'est parce que DATETIME
et TIME
les champs sont stockés dans MySQL sans aucune information de fuseau horaire, et ne sont pas convertis avant affichage (ou comparaison).