Konvertieren Epoche bisher in sqlplus / Oracle
Frage
Ich habe die folgende Tabelle:
SQL> desc recording
Name Null? Type
-------------------- -------- ------
CAPTUREID NOT NULL NUMBER(9)
STARTDATE NOT NULL DATE
ENDDATE DATE
STATE NUMBER(1)
ESTIMATEDENDTIME NUMBER(13)
Hier ist eine einzige Zeile für diese Tabelle:
SQL> select * from recording where CAPTUREID=14760457;
CAPTUREID STARTDATE ENDDATE STATE ESTIMATEDENDTIME
---------- ------------------- ------------------- ----- ----------------
14760457 29/09/2010 08:50:01 29/09/2010 09:52:04 0 1285746720000
Ich bin mir ziemlich sicher, dass dies wurde gefragt, so viele Male zuvor, aber alle Lösungen, die ich gefunden habe bisher nicht wirklich Arbeit, so ... Wie konvertiere ich ESTIMATEDENDTIME
von seiner ursprünglichen Epoche Form eines DD/MM/YYY HH:MI:SS
Format in einer einzigen Abfrage in SQLPLUS?
Danke!
Lösung
In Oracle, das Hinzufügen X zu einem DATE kehren Sie einen DATE X Tage später.
Wenn ESTIMATEDENDTIME Millisekunden seit Epoch dann könnte man tun
DATE '1970-01-01' + ( 1 / 24 / 60 / 60 / 1000) * ESTIMATEDENDTIME
und verwenden Sie dann to_char das richtige Format des resultierenden Zeitpunkt zu erreichen. z:
SELECT
captureid
, startdate
, enddate
, state
, estimatedendtime
, DATE '1970-01-01' + ( 1 / 24 / 60 / 60 / 1000) * estimatedendtime AS estimatedenddate
FROM recording
Andere Tipps
select ((timestamp_coloum_name - to_date('01-JAN-1970','DD-MON-YYYY')) * (86400)) from any_table;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow