将 SYSDATE 汇总到它的 HOUR。 SQL 甲骨文

Round up SYSDATE just but its HOUR. SQL ORACLE

关于如何汇总 SYSDATE 的任何想法。

例如,sysdate 现在是 11.31,我希望它四舍五入到 12.00,但我希望输出只是 12,如果 Sysdate是11.29,输出是11.

谢谢

使用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
ROUND((SYSDATE-TRUNC(SYSDATE))*24)

说明:TRUNC 不带第二个参数使当前日期的 00:00:00 时间。通过减法我们得到差异(以天为单位),然后将其缩放到小时和四舍五入。