【问题标题】:Oracle time difference is greater than 5 minsoracle时差大于5分钟
【发布时间】:2021-06-23 08:56:40
【问题描述】:

我在一个表中有两个日期列说 date1 和 date2, 我想找出这两列和值的结果之间的差异,想与大于 5 分钟的时间进行比较

例如:

Select date1-date2 from XYZ   // Result of this something like +00 00:05:00.000000 
where date1 - date2 is greater than 5 mins

上面的查询语法不正确,写了我要存档的内容

谁能帮我解决这个问题

谢谢 普拉莫德

【问题讨论】:

    标签: sql oracle date


    【解决方案1】:

    你说他们是约会,但后来

    类似 +00 00:05:00.000000 的结果

    这是一个区间;这意味着这些列是时间戳,而不是日期。因此,您也可以使用区间进行比较:

    select date1 - date2
    from XYZ
    where date1 - date2 > interval '5' minute
    

    db<>fiddle demo

    【讨论】:

      【解决方案2】:

      两个 DATE 数据类型值的差异(这就是您所写的)是它们之间的 天数,因此您必须将其“转换”为分钟:

      select (date1 - date2) * (24 * 60) number_of_minutes
      from your_table
      

      24 * 60 因为小时有 60 分钟,一天有 24 小时)。

      因此,你会检查

      select case when (date1 - date2) * (24 * 60) > 5 then 'More than 5 minutes'
                  else 'Some other message'
             end as result
      from your_table
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-16
        • 2020-07-30
        • 1970-01-01
        相关资源
        最近更新 更多