Beim Vergleich der Daten in postgresql (Version 9.2.4 in Windows) war ich mit einem seltsamen Szenario konfrontiert. Ich habe eine Spalte in meiner Tabelle mit der Aufschrift update_date vom Typ 'Zeitstempel ohne Zeitzone'. Der Kunde kann dieses Feld nur mit Datum (dh: 2013-05-03) oder Datum mit Uhrzeit (dh: 2013-05-03 12:20:00) durchsuchen. Diese Spalte hat den Wert als Zeitstempel für alle aktuellen Zeilen und den gleichen Datumsteil (03.05.2013), jedoch den Zeitunterschied.
Wenn ich über diese Spalte vergleiche, erhalte ich unterschiedliche Ergebnisse. Wie die folgenden:
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
Meine Frage ist, wie ich die erste Abfrage ermöglichen kann, um Ergebnisse zu erhalten. Ich meine, warum die dritte Abfrage funktioniert, aber nicht die erste?
Kann mir jemand dabei helfen? Danke im Voraus.
'2013-05-03'::date
und'1 day'::interval
) PostgreSQL spezifisch?