ฉันเผชิญสถานการณ์แปลก ๆ เมื่อเปรียบเทียบระหว่างวันที่ใน postgresql (รุ่น 9.2.4 ใน windows) ฉันมีคอลัมน์ในตารางของฉันบอกว่า update_date ด้วยประเภท 'การประทับเวลาที่ไม่มีเขตเวลา' ลูกค้าสามารถค้นหาในฟิลด์นี้ด้วยวันที่เท่านั้น (เช่น: 2013-05-03) หรือวันที่พร้อมเวลา (เช่น: 2013-05-03 12:20:00) คอลัมน์นี้มีค่าเป็นประทับเวลาสำหรับแถวทั้งหมดในปัจจุบันและมีส่วนวันที่เดียวกัน (2013-05-03) แต่มีความแตกต่างในส่วนของเวลา
เมื่อฉันเปรียบเทียบคอลัมน์นี้ฉันได้รับผลลัพธ์ที่แตกต่างกัน ชอบดังต่อไปนี้:
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
คำถามของฉันคือฉันจะทำให้การสืบค้นแรกเป็นไปได้เพื่อให้ได้ผลลัพธ์ฉันหมายถึงสาเหตุที่การสืบค้นที่ 3 ทำงาน แต่ไม่ใช่คำถามแรก
ใครช่วยฉันได้ไหม ขอบคุณล่วงหน้า.
'2013-05-03'::date
และ'1 day'::interval
) เฉพาะ PostgreSQL หรือไม่