TimeStamp + Zeitzone

Fragen und Probleme rund um die Abfragespache SQL.

TimeStamp + Zeitzone

Beitragvon reg13 » Mi 22. Dez 2010, 15:41

Wieso erhalte ich beim Select auf einen Timestamp diesen nicht wie er in der DB abgelegt ist?

SELECT to_timestamp(extract ('epoch' from Od_TimeStamp::timestamp)::int / (86400) * 86400)
as timeslice, sum(Od_Objects), sum(Od_Weight)
FROM overviewmonitoringdata
WHERE Ma_ID=3 AND Si_ID=0
AND Od_TimeStamp>='2010-04-01 00:00:00'
AND Od_TimeStamp<='2010-12-22 13:59:05'
GROUP BY timeslice
ORDER BY timeslice


Ergebnis:
timeslice sum sum_1
2010-03-31 02:00:00+02 40221 45228


Timestamps in der DB
01.04.2010 00:02:00
01.04.2010 00:03:00
01.04.2010 00:04:00
01.04.2010 00:05:00
01.04.2010 00:06:00
01.04.2010 00:07:00
01.04.2010 00:08:00
01.04.2010 00:09:00
reg13
Neuer Benutzer
 
Beiträge: 8
Registriert: Di 21. Dez 2010, 14:15

Beitragvon reg13 » Mi 22. Dez 2010, 16:47

Scheint doch kein Zeitzonenproblem zu sein, sondern irgend ein Berechnungsfehler. Hab das Statement nun auf
SELECT to_timestamp(extract ('epoch' from Od_TimeStamp::timestamp without time zone)::int / (86400) * 86400) as timeslice, ...


umgebaut, nun erhalte ich bei den Ausgangsdaten
01.04.2010 03:02:00
01.04.2010 03:03:00
01.04.2010 03:04:00
01.04.2010 03:05:00
01.04.2010 03:06:00
01.04.2010 03:07:00
01.04.2010 03:08:00
01.04.2010 03:09:00


als Ergebnis:
2010-04-01 02:00:00+02


Also ist das Ganze um 1 Stunde verschoben!?

Wenn die DB-Timestamps näher Richtung Mitternacht liegen, also statt um 03:03 - 03:09 um 01:03 - 01:09, dann erhalte ich als Ergebnis eine ganz andere Zeit, vom Tag zuvor!?
2010-03-31 02:00:00+02
reg13
Neuer Benutzer
 
Beiträge: 8
Registriert: Di 21. Dez 2010, 14:15

Beitragvon klimaschreck » Mi 22. Dez 2010, 19:17

Kann es sein, dass die Zeitangabe in UTC hinterlegt wird und daraus die Verschiebung um eine Stunde resultiert?
klimaschreck
Neuer Benutzer
 
Beiträge: 23
Registriert: So 1. Jun 2008, 19:07
Wohnort: Bonn


Zurück zu SQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste