2015-08-28 15 views
9

Ich möchte 10 Sekunden zu current_timestamp in meinem PL/SQL-Skript hinzufügen. Ich habe versucht, unter Code, aber es ist nicht im Timestamp-Format ausgegeben.Wie 10 Sekunden in current_timestamp SQL (Oracle) hinzugefügt werden

SELECT CURRENT_TIMESTAMP+1/24/60/6 FROM dual; 

Ausgang:

CURRENT_TIMESTAMP+1/24/60/6 

--------------------------- 
28-AUG-15 

Gibt es eine ähnliche Funktion wie TIMESTAMPADD in Mysql-Server?

+0

Ihr Code sollte funktionieren, also schneidet Ihr Werkzeug wahrscheinlich nur den Zeitanteil des Ergebnisses ab. Ich würde die Logik als "(10/(24 * 60 * 60)) schreiben". Ich denke, das macht die Absicht offensichtlich. –

Antwort

19

In Oracle, wenn Sie eine timestamp als Ergebnis wollen, anstatt eine date (a date beinhaltet immer die Zeit, um die zweite, obwohl, so dass Sie nur eine date möchten), würden Sie wollen eine interval hinzufügen zum timestamp. Es gibt verschiedene Möglichkeiten, ein zu konstruieren interval-- Sie wörtliche ein Intervall

select current_timestamp + interval '10' second 
    from dual 

verwenden können, oder Sie können die numtodsinterval Funktion

select current_timestamp + numToDSInterval(10, 'second') 
    from dual 
+0

Danke Justin. Es funktionierte. –

0

Es kann mit TO_CHAR

Select TO_CHAR(current_timestamp,'DD-MM-YY hh24:mi:SS') AS TIMESTAMP, 
TO_CHAR(current_timestamp+10/24/60/60,'DD-MM-YY hh24:mi:SS') AS TIMESTAMP_PLUS_10SEC 
from dual; 
erreicht werden verwenden

AUSGANG:

TIMESTAMP   TIMESTAMP_PLUS_10SEC 
31-08-15 05:17:19  31-08-15 05:17:29