@Nicolai benar tentang casting dan mengapa kondisinya salah untuk data apa pun. saya kira Anda lebih suka formulir pertama karena Anda ingin menghindari manipulasi tanggal pada string input, benar? kamu tidak perlu takut:
SELECT *
FROM table
WHERE update_date >= '2013-05-03'::date
AND update_date < ('2013-05-03'::date + '1 day'::interval);