【问题标题】:How to compare timestamp with current time in oracle sql如何在oracle sql中将时间戳与当前时间进行比较
【发布时间】:2019-08-14 01:37:30
【问题描述】:

我在 oracle 中有一个 sql 查询。 我想选择字段“c_time”(按时间戳格式化)比当前时间早 5 分钟的记录。

谢谢

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    我认为典型的方式是:

    where c_time < current_timestamp - interval '5' minute
    

    【讨论】:

      【解决方案2】:

      另一种选择是

      where c_time < systimestamp - (5/(24*60))
      

      24*60 用于以分钟为单位转换值。

      干杯!!

      【讨论】:

        【解决方案3】:

        我们也可以在这里尝试使用NUMSTODSINTERVAL()函数:

        SELECT *
        FROM yourTable
        WHERE c_time < CURRENT_TIMESTAMP - NUMTODSINTERVAL(5, 'MINUTE');
        

        【讨论】:

          【解决方案4】:

          这将起作用:

          where EXTRACT(year FROM c_time)=EXTRACT(year FROM CURRENT_TIMESTAMP) and 
              EXTRACT(month FROM c_time)=EXTRACT(month FROM CURRENT_TIMESTAMP)
              EXTRACT(day FROM c_time)=EXTRACT(day FROM CURRENT_TIMESTAMP)
              EXTRACT(hour FROM c_time) =EXTRACT(hour FROM CURRENT_TIMESTAMP)
              EXTRACT(minute FROM c_time)-5>EXTRACT(minute FROM CURRENT_TIMESTAMP)
          

          【讨论】:

            猜你喜欢
            • 2020-12-03
            • 1970-01-01
            • 1970-01-01
            • 2013-01-16
            • 2017-05-04
            • 2013-10-09
            • 1970-01-01
            • 2017-04-03
            • 1970-01-01
            相关资源
            最近更新 更多