首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle在没有考虑时间的情况下日期间的差异

Oracle在没有考虑时间的情况下日期间的差异
EN

Stack Overflow用户
提问于 2021-06-24 12:51:40
回答 1查看 120关注 0票数 0

如何在不考虑时间(小时、分钟、秒)的情况下从CURRENT_TIMESTAMP中获取天数。就像。CURRENT_TIMESTAMP24-JUN-21 00.01.01 AMEVENT_TIMESTAMP23-JUN-21 07.00.00 PM,则应返回1日差。

下面的查询返回上述值的0天,因为时差小于24小时。

代码语言:javascript
复制
SELECT EXTRACT(DAY FROM (CURRENT_TIMESTAMP - EVENT_TIMESTAMP)) FROM TABLE;

下面的查询返回我的1日差直到晚上7时,并且它开始显示相同日期的7点之后的2日差。

代码语言:javascript
复制
SELECT CEIL(SYSDATE - CAST(EVENT_TIMESTAMP AS DATE)) FROM TABLE;

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-24 13:00:45

如果我正确地理解了您,您应该只需要TRUNCate这些值:

代码语言:javascript
复制
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中两个日期数据类型值的差异表示它们之间的天数,因此.也许这就是你要找的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68116171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档