如何在不考虑时间(小时、分钟、秒)的情况下从CURRENT_TIMESTAMP中获取天数。就像。CURRENT_TIMESTAMP为24-JUN-21 00.01.01 AM,EVENT_TIMESTAMP为23-JUN-21 07.00.00 PM,则应返回1日差。
下面的查询返回上述值的0天,因为时差小于24小时。
SELECT EXTRACT(DAY FROM (CURRENT_TIMESTAMP - EVENT_TIMESTAMP)) FROM TABLE;下面的查询返回我的1日差直到晚上7时,并且它开始显示相同日期的7点之后的2日差。
SELECT CEIL(SYSDATE - CAST(EVENT_TIMESTAMP AS DATE)) FROM TABLE;谢谢。
发布于 2021-06-24 13:00:45
如果我正确地理解了您,您应该只需要TRUNCate这些值:
SQL> select trunc(to_date('24.06.2021 00:01:01', 'dd.mm.yyyy hh24:mi:ss'))
2 - trunc(to_date('23.06.2021 07:00:00', 'dd.mm.yyyy hh24:mi:ss')) result
3 from dual;
RESULT
----------
1
SQL>TRUNC将“删除”时间组件(实际上,将其设置为午夜),并且只会减去日期。Oracle中两个日期数据类型值的差异表示它们之间的天数,因此.也许这就是你要找的。
https://stackoverflow.com/questions/68116171
复制相似问题