ich Postgres bin mit und ich habe diesen Datensatz, der die date_time Spalte:Postgres Auswahlabfrage auf Zeitspalte erzeugen Ausgang falsch
"2015-09-01 09:41:15"
Wenn ich eine psql Abfrage von pgAdmin:
select * from table where date_time >= '2015-08-31' and date_time <= '2015-09-01'
Dieser spezifische Datensatz wird nicht angezeigt, obwohl ich = sign verwendet habe. Wenn ich < = '2015-09-02' verwende, erscheint es. Gibt es eine Möglichkeit, dass der Datensatz in einer Abfrage mit < = '2015-09-01' angezeigt wird, da its = zur abgefragten Zeit?
Meine Zeitspalte:
date_time timestamp without time zone DEFAULT '0001-01-01 00:00:00'::timestamp without time zone,
dies mein Problem behoben. Vielen Dank. –
Sie können eine einfache Erklärung hinzufügen, warum dies geschieht. Und das ist so, weil die Spalte "Timestamp ohne Zeitzone" ist, also wird der String ''2015-09-01'', der zum Vergleich verwendet wird, standardmäßig auch auf' Timestamp ohne Zeitzone' umgewandelt. In diesem Fall wird 'PostgreSQL' die Zeit um Mitternacht setzen, so dass' '2015-09-01'' zu' '2015-09-01 00: 00: 00': Zeitstempel ohne Zeitzone wird '. –