web-dev-qa-db-ja.com

current_timestamp SQLで10秒を追加する方法(Oracle)

PL/SQLスクリプトのcurrent_timestampに10秒追加します。以下のコードを試しましたが、出力はタイムスタンプ形式ではありません。

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

出力:

CURRENT_TIMESTAMP+1/24/60/6

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

MysqlサーバーにTIMESTAMPADDに似た機能はありますか?

13
Nagendra Yadav

Oracleでは、結果としてtimestampではなくdateが必要な場合(ただし、dateには常に秒までの時間が含まれるため、単にdate)、intervaltimestampに追加します。間隔を構成するにはさまざまな方法があります-間隔リテラルを使用できます

select current_timestamp + interval '10' second
  from dual

または、numtodsinterval関数を使用できます

select current_timestamp + numToDSInterval( 10, 'second' )
  from dual
28
Justin Cave

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;

出力:

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