2016-04-07 7 views
1

SYSDATEを切り上げる方法。SYSDATEをちょうどそのHOURに丸めます。 SQL ORACLE

たとえば、SYSDATEは今11.31ある、と私はそれが12.00に切り上げしたいのですが、出力はちょうど12ことを期待して、SYSDATEが01​​であれば、出力は11です。

おかげ

+0

だから、次の1時間に切り上げたいと思っています - あなたは30分の時間を過ごしている時だけですか? – Hogan

+0

@Hoganそうです。 30分後にラウンドアップ –

答えて

1
ROUND((SYSDATE-TRUNC(SYSDATE))*24) 

説明:TRUNC第二パラメータなしには、現在の日付の午後12時00分〇​​〇秒の時間になります。減算によって、差(日数)を得てから、それを数時間まで縮尺します。

+0

それは動作しています。ありがとう。 –

+0

@MarioAlexander 23:31は、00の代わりに24を生成します。 – dcieslak

1

ROUND機能を使用して、そのTO_CHAR後。

select to_char(round(to_date('11:31','hh24:mi'), 'HH'), 'HH24') from dual 

-> 12 

select to_char(round(to_date('11:29','hh24:mi'), 'HH'), 'HH24') from dual 

-> 11 
関連する問題