ORACLE TO_TIMESTAMP sysdate mit eigener Uhrzeit

mafin

Mitglied
Hallo,

folgenden SQL-Befehl habe ich:

Code:
TO_TIMESTAMP(sysdate+'14:34:22', 'dd.mm.yy hh24:mi:ss')

er funktioniert so:

Code:
TO_TIMESTAMP(sysdate, 'dd.mm.yy hh24:mi:ss')

nur habe ich dann keine Zeitangaben getätigt. Wie es mit der aktuellen zeit funktioniert weiß ich.
Jedoch möchte ich nun eine Zeit angeben.
Oben habe ich das versucht, natürlich funktioniert das nicht.
Aber wie gesagt will ich das aktuelle Datum aber mit eigener Zeit übergeben.

Ich hoffe dafür gibt es eine Lösung.
Danke!
 
Die Funktion TRUNC(SYSTIMESTAMP) liefert dir einen TIMESTAMP ohne Uhrzeit, bzw. wo die Uhrzeit komplett genullt ist:

SQL:
SQL> select trunc(systimestamp) from dual;

TRUNC(SYSTIMESTAMP)
-------------------
06.02.2009 00:00:00

Auf diesen Wert kannst du nun deine Uhrzeit als Dezimalwert addieren, wobei der Wert 1 genau einem Tag entspricht. 1 Stunde ist somit 1/24, 1 Minute = 1/24/60, usw..

SQL:
> select trunc(systimestamp)+  (1/24)  +  30*(1/24/60)  from dual;

TRUNC(SYSTIMESTAMP)
-------------------
06.02.2009 01:30:00

Oder du benutzt den TIMESTAMP Wert und hängst die gewünschte Zeit als Text an:

SQL:
SQL> select to_timestamp(to_char(systimestamp, 'dd.mm.yyyy')||' 10:20:30', 'dd.mm.yyyy hh24:mi:ss') from dual;

TO_TIMESTAMP(TO_CHAR(SYSTIMEST
---------------------------------------------------------------------------
06.02.09 10:20:30,000000000
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück