Jeśli porównujesz z TIMESTAMP
pola, musisz użyć wartości porównawczych w strefie czasowej serwera. Strefę czasową serwera można określić za pomocą:
SELECT @@time_zone;
Dlatego jeśli wykonałeś
SET NAMES time_zone = "+0:00";
wtedy użyjesz wartości opartych na UTC.
Dzieje się tak, ponieważ TIMESTAMP
pola są przechowywane w MySQL w czasie UTC i są konwertowane na strefę czasową serwera przed wyświetleniem (lub porównaniem).
Uwaga:jeśli porównujesz z DATETIME
pola lub TIME
pola, będziesz musiał użyć wartości porównawczej w tej samej strefie czasowej, która była używana, gdy wartość została wstawiona do pola.
Dzieje się tak, ponieważ DATETIME
i TIME
pola są przechowywane w MySQL bez informacji o strefie czasowej i nie są konwertowane przed wyświetleniem (lub porównaniem).