Periksa tipe data kolom dan zona waktu . Anda . Anda mungkin bingung timestamp with time zone
dan timestamp
.
Sepertinya Anda memiliki timestamp
di tabel Anda, tetapi kueri dengan timestamptz
. Dengan cara ini, semuanya tergantung pada zona waktu lokal sesi Anda (yang default ke zona waktu server jika tidak ditentukan sebaliknya.)
Alihkan keduanya ke timestamptz
, atau timestamp
jika zona waktu sama sekali tidak relevan bagi Anda. (Jika ragu, gunakan timestamptz
.)
Bukan penyebab masalah Anda, tetapi pertanyaan Anda mungkin seharusnya:
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
adalah hampir selalu salah untuk timestamp
jenis karena bilangan pecahan! Apa yang akan dilakukan kueri Anda dengan starttime = '2013-03-21T23:59:59.123+00'
?