Controlla il tipo di dati delle colonne e il tuo fuso orario . Potresti confondere timestamp with time zone
e timestamp
.
Sembra che tu abbia timestamp
nella tabella, ma interroga con timestamptz
. In questo modo, tutto dipende dal fuso orario locale della tua sessione (che per impostazione predefinita è il fuso orario del server se non diversamente specificato.)
Passa entrambi a timestamptz
o timestamp
se i fusi orari sono completamente irrilevanti per te. (In caso di dubbio, usa timestamptz
.)
Non è la causa del tuo problema, ma probabilmente la tua domanda dovrebbe essere:
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
è quasi sempre sbagliato per timestamp
tipi a causa di numeri frazionari! Che cosa farebbe la tua query con starttime = '2013-03-21T23:59:59.123+00'
?