任何想法如何整理SYSDATE。
例如,sysdate现在是11.31
,我希望它向上舍入到12.00
,但我希望输出只是12
,如果Sysdate是{ {1}},输出为11.29
。
由于
答案 0 :(得分: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
答案 1 :(得分:1)
ROUND((SYSDATE-TRUNC(SYSDATE))*24)
说明:没有第二个参数的TRUNC
使得当前日期的00:00:00时间。通过减法我们得到差异(以天为单位),然后将其缩放到数小时和圆形。