Ergebnis 1 bis 2 von 2

Thema: postgres 8.1, extract(epoch from interval ...

  1. #1
    gfw
    gfw ist offline Neuer Benutzer
    Registriert seit
    24.07.2007
    Beiträge
    1

    Standard postgres 8.1, extract(epoch from interval ...

    Hallo allerseits,
    ich muss timestamps als Zahl der Sekunden seit Einführung des
    gregorianischen Kalenders 1582-10-14 00:00:00 ausgeben.
    Hat bisher in version 7.4 auch bestens funktioniert:

    # select EXTRACT(EPOCH FROM ( timestamp '2006-10-19 17:00:00' - timestamp '1582-10-14 00:00:00' )) ;
    date_part
    -------------
    13380656400

    in version 8.1 jedoch kommt viel zu wenig raus, was auch immer die zahl ist:
    select EXTRACT(EPOCH FROM ( timestamp '2006-10-19 17:00:00' - timestamp '1582-10-14 00:00:00' )) ;
    date_part
    -----------
    495754512

    Hat sich da in postgres was geändert, liegt es an einer Einstellung,
    oder vielleicht an meiner Linux Distribution? Die 7.4 stammt aus einem Debian 3.1 sarge, die 8.1 aus Debian 4 für amd64.
    Ist Euch da ein Problem bekannt ?
    Bitte gebt das mal bei anderen 8.1er Installationen ein, und berichtet mir vom Ergebnis.

    Danke!
    Georg

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von gfw Beitrag anzeigen

    Hat sich da in postgres was geändert, liegt es an einer Einstellung,
    oder vielleicht an meiner Linux Distribution? Die 7.4 stammt aus einem Debian 3.1 sarge, die 8.1 aus Debian 4 für amd64.
    Ist Euch da ein Problem bekannt ?
    Bitte gebt das mal bei anderen 8.1er Installationen ein, und berichtet mir vom Ergebnis.

    Danke!
    Georg
    Ich kann Dir leider nicht sagen, warum das flasch rechnet, vermute Probleme mit INT-Überlauf. Als Lösungen:

    Code:
    test=*> select EXTRACT(EPOCH FROM '2006-10-19 17:00:00'::timestamp) - extract(epoch from  '1582-10-14 00:00:00'::timestamp) ;
      ?column?
    -------------
     13380652800
    (1 row)
    
    test=*> select extract(epoch from age('2006-10-19 17:00:00'::timestamp,'1582-10-14 00:00:00'::timestamp));
      date_part
    -------------
     13380915600
    (1 row)
    Hier kommen allerdings nun wohl noch unterschiedliches Verhalten bei der Beachtung von Sommerzeit zum tragen...

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Ähnliche Themen

  1. min, max aus epoch erstellen
    Von RWN im Forum SQL
    Antworten: 11
    Letzter Beitrag: 12.04.2011, 17:31
  2. Bedingung im extract
    Von patwilly im Forum SQL
    Antworten: 1
    Letzter Beitrag: 09.12.2008, 16:59
  3. Datum Interval Berechnung
    Von hretif im Forum SQL
    Antworten: 2
    Letzter Beitrag: 15.05.2007, 13:39
  4. Startzeitpunkt mithilfe von Interval
    Von Chuqa im Forum Trigger und Funktionen
    Antworten: 2
    Letzter Beitrag: 07.02.2007, 09:52
  5. EXTRACT in pl/pgsql mit Variable
    Von achilles_69 im Forum PL/pgSQL
    Antworten: 7
    Letzter Beitrag: 07.11.2006, 17:09

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum