Überprüfen Sie den Datentyp der Spalten und Ihrer Zeitzone . Möglicherweise verwirren Sie timestamp with time zone
und timestamp
.
Sieht so aus, als hätten Sie timestamp
in Ihrer Tabelle, aber Abfrage mit timestamptz
. Auf diese Weise hängt alles von der lokalen Zeitzone Ihrer Sitzung ab (die standardmäßig die Zeitzone des Servers ist, wenn nicht anders angegeben.)
Stellen Sie beide auf timestamptz
um , oder timestamp
wenn Zeitzonen für Sie völlig irrelevant sind. (Im Zweifelsfall timestamptz
verwenden .)
Nicht die Ursache Ihres Problems, aber Ihre Abfrage sollte wahrscheinlich lauten:
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
ist fast immer falsch für timestamp
Typen aufgrund von Bruchzahlen! Was würde Ihre Abfrage mit starttime = '2013-03-21T23:59:59.123+00'
machen ?