Saya telah menghadapi skenario aneh ketika membandingkan antara tanggal di postgresql (versi 9.2.4 di windows). Saya memiliki kolom di tabel saya mengatakan update_date dengan ketik 'timestamp tanpa zona waktu'. Klien dapat mencari bidang ini dengan hanya tanggal (yaitu: 2013-05-03) atau tanggal dengan waktu (yaitu: 2013-05-03 12:20:00). Kolom ini memiliki nilai sebagai cap waktu untuk semua baris saat ini dan memiliki bagian tanggal yang sama (2013-05-03) tetapi perbedaan dalam bagian waktu.
Ketika saya membandingkan kolom ini, saya mendapatkan hasil yang berbeda. Seperti berikut ini:
select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-03' -> No results
select * from table where update_date >= '2013-05-03' AND update_date < '2013-05-03' -> No results
select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-04' -> results found
select * from table where update_date >= '2013-05-03' -> results found
Pertanyaan saya adalah bagaimana saya bisa membuat kueri pertama mungkin untuk mendapatkan hasil, maksud saya mengapa kueri ke-3 berfungsi tetapi bukan yang pertama?
Adakah yang bisa membantu saya dengan ini? Terima kasih sebelumnya.
'2013-05-03'::date
dan'1 day'::interval
) PostgreSQL spesifik?