Zum Inhalt springen

Berechnen Vormonat aus Unix Zeit


grummelbummel

Empfohlene Beiträge

Hallo FI Community,

ich habe folgendes Problem:

In einer Oracle Datenbank wird die Zeit als Unix Zeit in einem numerischen Feld dargestellt (Number,10)

Bsp 1292493296 für 16.12.2010 10:54:56

Ich möchte einen select auf alle Daten die >= Vormonat sind einschränken.

Leider konnte ich bisher nichts adequates finden und bitte daher um Hilfe.

Besten Dank!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Datenbank ist ein Fremdproduckt.

Ich muss das lediglich per Sql auswerten.

Ich denke aber mittlerweile ein Lösung gefunden zu haben. Diese sieht wie folgt aus:

select c_date(speicher_datum)

from tracking

where sysdate

>(

select trunc( add_months( max(to_char(sysdate)),- 2), 'mm' )

from tracking

)

Bearbeitet von grummelbummel
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

ich habe das mal auf meine Struktur hin angepasst:

SELECT to_char(TO_DATE('Auftr_datum','YYYYMMDDHH24MISS')

+ NUMTODSINTERVAL(1094165422, 'SECOND'), 'dd.mm.yyyy hh24:mi') datum

FROM auftrag

Ich bekomme die Meldung zurück:

ORA -01841 (Volles) Jahr muss zwischen -4713 und +9999 und darf nicht 0 sein.

bzw

ORA -01843 kein gültiger Monat

Gruß

Grummel

Bearbeitet von grummelbummel
Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Datenbank ist ein Fremdproduckt.

Ich muss das lediglich per Sql auswerten.

Ich denke aber mittlerweile ein Lösung gefunden zu haben. Diese sieht wie folgt aus:

select c_date(speicher_datum)

from tracking

where sysdate

>(

select trunc( add_months( max(to_char(sysdate)),- 2), 'mm' )

from tracking

)

Hallo Frank,

ich habe das mal auf meine Struktur hin angepasst:

SELECT to_char(TO_DATE('Auftr_datum','YYYYMMDDHH24MISS')

+ NUMTODSINTERVAL(1094165422, 'SECOND'), 'dd.mm.yyyy hh24:mi') datum

FROM auftrag

Ich bekomme die Meldung zurück:

ORA -01841 (Volles) Jahr muss zwischen -4713 und +9999 und darf nicht 0 sein.

bzw

ORA -01843 kein gültiger Monat

Gruß

Grummel

SELECT to_char(TO_DATE('19700101000000','YYYYMMDDHH24MISS')

+ NUMTODSINTERVAL(1094165422, 'SECOND'), 'dd.mm.yyyy hh24:mi') datum

FROM auftrag

Das funktioniert, danke!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...