Nếu bạn đang so sánh với TIMESTAMP
, bạn cần sử dụng các giá trị so sánh trong múi giờ của máy chủ. Bạn có thể xác định múi giờ của máy chủ qua:
SELECT @@time_zone;
Do đó, nếu bạn đã thực thi
SET NAMES time_zone = "+0:00";
thì bạn sẽ sử dụng các giá trị dựa trên UTC.
Điều này là do TIMESTAMP
các trường được lưu trữ trong MySQL ở UTC và được chuyển đổi sang múi giờ của máy chủ trước khi hiển thị (hoặc so sánh).
Lưu ý:nếu bạn đang so sánh với DATETIME
trường hoặc TIME
, bạn sẽ cần sử dụng giá trị so sánh trong cùng múi giờ như đã được sử dụng khi giá trị được chèn vào trường.
Điều này là do DATETIME
và TIME
các trường được lưu trữ trong MySQL mà không có bất kỳ thông tin múi giờ nào và không được chuyển đổi trước khi hiển thị (hoặc so sánh).