Kontrollera datatypen av kolumnerna och din tidszon . Du kanske förvirrar timestamp with time zone
och timestamp
.
Det verkar som att du har timestamp
i din tabell, men fråga med timestamptz
. På så sätt beror allt på den lokala tidszonen för din session (som som standard är serverns tidszon om inte annat anges.)
Byt båda till timestamptz
, eller timestamp
om tidszoner är helt irrelevanta för dig. (Om du är osäker, använd timestamptz
.)
Inte orsaken till ditt problem, men din fråga bör förmodligen vara:
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
är nästan alltid fel för timestamp
typer på grund av bråktal! Vad skulle din fråga göra med starttime = '2013-03-21T23:59:59.123+00'
?