Kategorien
CodeArchiv Oracle

Oracle Sekunden in Zeit umwandeln

Beschreibung

Da es in Oracle keine Möglichkeit gibt mit Datum oder zeit zu rechnen habe ich mir eine Funktion ausgedacht, die Datum und Uhrzeit in Sekunden umrechnet. Mit dem Ergebnis kann ich dann beliebige Berechnungen durchführen. Um aus den Sekunden später wieder ein Datum, eine Zeit zu haben ist die nachfolgende Funktion entstanden.

Code

CREATE OR REPLACE FUNCTION secondstotime (seconds NUMBER)
    RETURN DATE
IS
    RESULT DATE;
BEGIN
    IF seconds IS NOT NULL AND seconds < 86400 THEN
        RESULT := to_date(to_char(trunc(seconds / 60 / 60), '09')
        || ':'
        || to_char(trunc(MOD(seconds, 3600) / 60), '09')
        || ':'
        || to_char(MOD(MOD(seconds, 3600), 60), '09'), 'HH24:MI:SS');
    ELSE
        RESULT := to_date(0, 'HH24:MI:SS');
    END IF;
    RETURN(RESULT);
END secondstotime;

Download