dedlfix: Zeit auf 15min Intervalle runden (oracle)

Beitrag lesen

Tach!

ich würde gerne immer einen Zeitpunkt 15min in der Zukunft berechnen, der aber auf feste 15min Intervalle (:00, :15, :30, :45) gerundet ist.
Rein mathematisch ist das kein Problem und wäre so umgesetzt:
SELECT ROUND(SYSDATE*96)/96 + 1/96 FROM DUAL;

Für welches DBMS suchst du denn die Lösung? Ist SYSDATE eine Konstante oder wie in MySQL eine Funktion und braucht Klammern() dahinter? Liefert SYSDATE den geforderten Wert oder einen Datumsstring, wie in MySQL, der durch die Multiplikation lediglich von '2012-11-20 09:33:42' zur Zahl 20121120093342 wird? Was hat die Zahl 96 für eine Bedeutung?

Praktisch klappt das aber wegen der unterschiedlichen Typen nicht und ich weiss nicht, wie ich hier korrekt umwandeln muss.

Zunächst musst du dir überlagen und das durch Einzelabfragen vielleicht auch noch bestätigen lassen, was du da konkret für Werte bekommst, welchen Typ du für die Rechnung brauchst und dann eine Tyecast- oder eine andere geeignete Funktion suchen. Datums- und Zeit-Funktionen gibt es üblicherweise in den DBMSen eine Menge. Und sei es nur eine, die dir einen Teil des Datums liefert. Sekunden brauchst du ja in der Rechnung beispielsweise nicht.

dedlfix.