Miałem do czynienia z dziwnym scenariuszem podczas porównywania dat w postgresql (wersja 9.2.4 w systemie Windows). Mam kolumnę w mojej tabeli powiedzieć update_date z typem "timestamp bez strefy czasowej". Klient może przeszukiwać to pole tylko z datą (tj. 2013-05-03) lub datą z czasem (tj. 2013-05-03 12:20:00). Ta kolumna ma wartość jako znacznik czasu dla wszystkich wierszy obecnie i ma tę samą część daty (2013-05-03), ale różnicę w części czasu.Jak porównać daty w polach datetime w Postgresql?
Kiedy porównuję tę kolumnę, otrzymuję różne wyniki. Jak poniższych:
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
Moje pytanie brzmi: w jaki sposób mogę zrobić pierwsze zapytanie możliwe, aby uzyskać wyniki, to znaczy dlaczego 3rd kwerenda działa, ale nie pierwszy z nich?
Czy ktoś może mi w tym pomóc? Z góry dziękuję.
o co tu chodzi? –
Thnaks. Zmieniłem moje pytanie. "Moje pytanie brzmi: jak zrobić pierwsze zapytanie, aby uzyskać wyniki, mam na myśli, dlaczego trzecie zapytanie działa, ale nie pierwsze?" – user2866264