Oracle Timestamp-Konvertierung mit Datums -

Vorausgesetzt, dieses hat eine einfache Lösung, aber ich kann es nicht finden.

Ich versuche, eine gewisse Logik auf ein Datenfeld in Oracle. Mein Wunsch ist es, nehmen Sie ein DATUM-Feld und subtrahieren von X Stunden aus.

Zum Beispiel: SELECT A.MyDATE - 100 Hours from dual;

allerdings brauche ich ein Ergebnis in einer timestamp-format "YYYY-MM-DD hh:mm".

Ich habe versucht CAST(A.MyDATE as TIMESTAMP) - NUMTODSINTERVAL(100/24,'day') aber es hat nicht funktioniert.

Fand ich heraus, dass das Problem ist, dass die MyDATE-Feld, wenn Sie gewirkt wird, um einen Zeitstempel enthält immer noch einige Rest-Zeit-Elementen. Wie kann ich das zurücksetzen dieser??

Dank!

  • Definieren Sie zuerst "hat nicht funktioniert". Was war das Ergebnis, das Sie bekommen haben? Was war das Ergebnis, das Sie erwartet? Wenn Sie sprechen über die "Rest-Zeit-Elemente", sind Sie versucht, zu subtrahieren Sie 100 Stunden von Mitternacht an welchem Tag MyDate ist, anstatt 100 Stunden, egal aus welcher Zeit MyDate hat? Welche Datentypen möchten Sie Ihre Abfrage zurückgeben? Die Abfrage, die Sie geschrieben gibt eine timestamp aber wenn Sie reden wollen, einem bestimmten format, das bedeutet, dass Sie wollen, um wieder eine varchar2.
  • Sorry für nicht deutlich genug. Wenn MyDate war 2013-01-15 und ich hoffte zu bekommen 2013-01-10 20:00 als Ergebnis. Ich bin nicht immer dieses - ich bin immer so etwas wie 2013-01-10 21:49. Ich fand heraus, dass 'MyDate' bei der Konvertierung in einen timestamp halten, Stunden und Minuten anstelle von 00:00 Uhr in es - nicht sicher, warum. ALSO... ich bin versucht, zu null zu der Zeit Teil von MyDate nach timestamp-Konvertierung, aber ich weiß nicht, wie es zu tun.
InformationsquelleAutor NEW2WEB | 2013-02-08
Schreibe einen Kommentar