Kiểm tra loại dữ liệu trong số các cột và múi giờ của bạn . Bạn có thể nhầm lẫn timestamp with time zone và timestamp
.
Có vẻ như bạn có timestamp trong bảng của bạn, nhưng truy vấn bằng timestamptz . Bằng cách này, tất cả phụ thuộc vào múi giờ địa phương trong phiên của bạn (mặc định là múi giờ của máy chủ nếu không được chỉ định khác.)
Chuyển cả hai sang timestamptz hoặc timestamp nếu múi giờ hoàn toàn không liên quan đến bạn. (Nếu nghi ngờ, hãy sử dụng timestamptz .)
Không phải nguyên nhân gây ra sự cố của bạn, nhưng truy vấn của bạn có thể là:
SELECT id, text, category, starttime, endtime, creation
FROM entries
WHERE starttime >= timestamp '2013-03-21' -- defaults to 00:00 time
AND starttime < timestamp '2013-03-22'
ORDER BY id
a BETWEEN x AND y hầu như luôn luôn sai cho timestamp loại do số phân số! Truy vấn của bạn sẽ làm gì với starttime = '2013-03-21T23:59:59.123+00' ?