2012-01-26 46 views
3

所以我需要設置一個DATE變量等於明天的日期,我需要將時間設置爲12:00 AM(靜態)。我有以下代碼可行,但我認爲我有一個更清晰的方式,我錯過了。設置日期=明天在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變量?

謝謝

回答

13

如何:

end_date:=trunc(sysdate+1); 

+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'天+間隔'1'秒'。我覺得這很容易解釋。因人而異。 –