Oracle SQL Syntax

Zeitabstand zwischen Timestamps / Intervall in Sekunden

Es gibt keine oracle-Funktion, die ein Intervall in Sekunden umwandelt.

Möglich ist dies aber wie folgt:

SELECT EXTRACT (DAY    FROM (END_DATE-BEG_DATE))*24*60*60+
EXTRACT (HOUR   FROM (END_DATE-BEG_DATE))*60*60+
EXTRACT (MINUTE FROM (END_DATE-BEG_DATE))*60+
EXTRACT (SECOND FROM (END_DATE-BEG_DATE)) as timediff
from t1;

Datetime / Timestamp in Character formatieren

to_char(datetime, text)

wobei mit text die Formatierung definiert wird:

HH24: Stunde (00-23)

MI: Minute

SS: Sekunde

YYYY: Jahr

MM: Monat (01-12)

DD: Tag (01-31)

Weitere Muster unter: https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34510

Beispiel:

to_char(date, 'YYYY-MM-DD HH24:MI:SS')

liefert ein Datum wie

'2010-06-14 17:21:32'

Character in Timestamp konvertieren

Die Konvertierung von Strings in Timestamps ist analog zur to_char()-Funktion in der Gegenrichtung möglich:

TO_DATE('03.12.2004:10:34:24','DD.MM.YYYY:HH24:MI:SS')