2012-01-26 4 views
3

明日の日付に等しいDATE変数を設定する必要があり、時刻を午前12時(静的)に設定する必要があります。私は次のコードが動作するが、私は欠けているよりクリーンな方法だと思う。日付を明示的にOracle PLSQLの静的時刻に設定しますか?


end_date:= to_date((EXTRACT(MONTH FROM sysdate+1))||'/'|| 
        (EXTRACT(DAY FROM sysdate+1))||'/'|| 
        (EXTRACT(YEAR FROM sysdate+1))|| 
        ' 12:00 AM', 'MM/DD/YYYY HH:MI PM'); 

だからそれは仕事を取得しますが、私はEND_DATE変数を設定するための簡単な方法はありますか?

end_date:=trunc(sysdate+1); 

は約どのように

答えて

13

ありがとう?

+0

私は簡単に何かが欠けていたことを知っていました。 'select trunc(sysdate +1)+ 1/86400 from dual' –

+1

' trunc(sysdate +1)+ 1/86400'は、あなたが言ったように12.00.01AMであり、12.00AMではないことに注意してください。質問。 –

+3

わかりやすくするためにINTERVAL算術を使用することをお勧めします。したがって、end_date:= trunc(sysdate)+間隔 '1' day + interval '1' second'です。私はこれをもっと簡単に解釈することができます。 YMMV。 –