将Oracle SYSDATE舍入到最接近的小时

Adi*_*Adi 3 sql oracle

假设当前的SYSDATE是03-APR-17 03.35.49,我的查询需要获取以下值之间的值:

一个.SYSDATE四舍五入到最接近的小时(在这种情况下为03.00.00)

湾 减1小时= 02.00.00

我试过并发现使用"-1/24"会减去一小时的日期时间.有点新的Oracle在第一部分如此挣扎.不确定我是否应该使用ROUND或FLOOR或任何其他功能.任何帮助赞赏.

mat*_*guy 8

select sysdate,
       trunc(sysdate, 'hh') as truncated,
       round(sysdate, 'hh') as rounded
from   dual;

SYSDATE              TRUNCATED            ROUNDED
-------------------  -------------------  -------------------
04/03/2017 15:54:22  04/03/2017 15:00:00  04/03/2017 16:00:00
Run Code Online (Sandbox Code Playgroud)