Seite 1 von 1

Frage zu Zeiten

Verfasst: Di 25. Jul 2017, 15:58
von tutter
Hallo an alle,

ich habe eine Frage zu Zeitstempeln.
Aktuell habe ich einen Zeitstempel aus dem MS SQL Server vorliegen. Die wie folgt aussehen: 2017-06-17 13:23:00.000. Da diese vom Typ Datetime sind liegt dies im Format ohne Zeitzone vor.

Auf dem PostgreSQL System liegt mir das wie folgt vor: 2017-06-17 13:23:00.000+02. Wenn ich richtig informiert bin müsste ja die +02 meine Zeitzone sein. Aber wie könnte ich denn den gleichen Ausdruck erhalten wie die vom MS SQL Server? Also sprich wie bekomme ich den Zeitstempel ohne Zeitzone? Habe bisher nur to_timestamp gefunden. Danach würde die Abfrage wie folgt aussehen:
to_timestamp('2014/04/25 10:13:18.041.394820', 'YYYY/MM/DD HH:MI:SS.MS'). Jedoch sehe ich auch hier meine +02 was ja für meine Zeitzone stehen müsste.

Re: Frage zu Zeiten

Verfasst: Di 25. Jul 2017, 16:29
von akretschmer
PG kennt timestamp und timestamptz. Wenn Du es ohne tz haben willst:

Code: Alles auswählen

test=# select now();
              now              
-------------------------------
 2017-07-25 16:28:57.599855+02
(1 Zeile)

test=*# select now()::timestamp;
            now             
----------------------------
 2017-07-25 16:28:57.599855
(1 Zeile)

test=*#
Aslo einfach casten.

Re: Frage zu Zeiten

Verfasst: Di 25. Jul 2017, 16:48
von tutter
Aaah ok das ist ja einfach in Postgresql! Ich kenne nur die komplexe Zerlegung des Wertes mit CAST(). Gibt es auch eine einfache Möglichkeit die Millisekunden auf 000 zu setzen?`
Also Ziel sollte sein: 2017-07-25 :16:28:57.000

Re: Frage zu Zeiten

Verfasst: Di 25. Jul 2017, 16:52
von akretschmer

Code: Alles auswählen

test=*# select date_trunc('second',now())::timestamp;
     date_trunc      
---------------------
 2017-07-25 16:28:57
(1 Zeile)

Re: Frage zu Zeiten

Verfasst: Di 25. Jul 2017, 17:06
von tutter
ja fast. die 000 fehlt aber beim Ergebnis. oder zeigt er die einfach nicht an? Also so : 2017-07-25 :16:28:57.000

Re: Frage zu Zeiten

Verfasst: Di 25. Jul 2017, 17:09
von akretschmer

Code: Alles auswählen

test=# select date_trunc('second',now())::timestamp || '.000';
        ?column?         
-------------------------
 2017-07-25 17:08:43.000
(1 Zeile)