Проверете типа данни на колоните и вашата часова зона . Може да сте объркващи timestamp with time zone
и timestamp
.
Изглежда, че имате timestamp
във вашата таблица, но заявка с timestamptz
. По този начин всичко зависи от местната часова зона на вашата сесия (която по подразбиране е часовата зона на сървъра, ако не е указано друго.)
Превключете и двете към timestamptz
, или timestamp
ако часовите зони са напълно без значение за вас. (Ако се съмнявате, използвайте timestamptz
.)
Не е причината за вашия проблем, но вашата заявка вероятно трябва да бъде:
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
е почти винаги грешен за timestamp
типове поради дробни числа! Какво би направила вашата заявка с starttime = '2013-03-21T23:59:59.123+00'
?