【问题标题】:Oracle query to get Data from table inserted in last 10 minsOracle查询从最近10分钟插入的表中获取数据
【发布时间】:2019-05-16 00:09:52
【问题描述】:

我必须从 Oracle 表中获取数据,其中我有一个名为 lastupdatedDate 的日期字段,我只想获取 lastupdatedDate 在最后 10 分钟内的 sysdate 中的行

例如,如果在我的表中我有lastupdateDate05/20/09 4:20:44,那么如果我在05/20/09 4:20:4405/20/09 4:30:44 之间运行查询,我希望这一行回到我的结果中,而不是如果我运行查询05/20/09 5:31:44

【问题讨论】:

    标签: oracle datetime


    【解决方案1】:

    或者更易读:

    select *
      from mytable
     where lastupdatedDate > sysdate - interval '10' minute
    

    【讨论】:

    • 开发者友好 :)
    【解决方案2】:
    select *
    from mytable
    where lastupdatedDate > sysdate - (10/1440)
    

    Rob van Wijk 在这里https://stackoverflow.com/a/893668/39430 提供了一个更易读的版本

    【讨论】:

    • 虽然这会产生正确的答案。我更喜欢@rob-van-wijk 的答案的可读性,而不是任何一天。
    • 我觉得和@DrupadPanchal一样
    【解决方案3】:
    select sysdate - 10/(24*60) from dual;
    

    请参阅上面的示例以获取 sysdate 减去十分钟,现在只需添加到您的查询中

    【讨论】:

    • 我最喜欢这个。所做的事情一目了然,我们不必记住区间语法。
    猜你喜欢
    • 2019-10-28
    • 2022-01-11
    • 1970-01-01
    • 2014-09-04
    • 2022-12-28
    • 1970-01-01
    • 2012-03-16
    • 2014-08-17
    相关资源
    最近更新 更多