Я столкнулся с странным сценарием при сравнении дат в postgresql (версия 9.2.4 в окнах). У меня столбец в моей таблице говорит update_date с типом timestamp без часовой пояс. Клиент может осуществлять поиск по этому полю только с датой (например, 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
Мой вопрос: как я могу сделать первый запрос возможным для получения результатов, я имею в виду, почему третий запрос работает, но не первый?
Может кто-нибудь мне помочь? Спасибо заранее.