Montag, 14 Okt 2019 | IT-Beratung, Entwicklung, Systemanalyse
 

Oracle-Date in einen Unix-Timestamp wandeln

Frage:
Wie wandelt man einen Oracle-Timestamp in einen (aus Unix bekannten) Zeitstempel als Long in Millisekunden seit 01.01.1970 um?
Antwort:

Mit z.B. tsToUnixMS(), wie in select systimestamp, tsToUnixMS(systimestamp) as ms from dual;

Dabei wird aus z.B. "23-OCT-07 11.31.26.777834 AM +02:00" der Long-Wert "1193139086777". Ist kein tsToUnixMS() zur Hand? Einfach selbst definieren:

CREATE OR REPLACE FUNCTION tsToUnixMS(datets in timestamp) RETURN number
IS
  datum date := cast (datets as date);
BEGIN
  return trunc(to_char(datets, '.FF') + 1000 *
    (24*60*60 * (datum - to_date('19700101', 'yyyymmddhh24miss'))));
END;

 
 
Über Hurrikan.de

IT-Beratung und Software-Entwicklung und Systemanalyse

mehr »
Help & Support

Ihre Fragen und Probleme sind uns ein Anliegen und werden gerne beantwortet und gelöst.

Frequently Asked Questions (FAQ) »
Kontakt

web: hurrikan.de »
mail: projekt-18 ... hurrikan.de
 (antispam: ... durch @ ersetzen)
Impressum »