首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL中一整天的两个时间戳之间的差异

SQL中一整天的两个时间戳之间的差异
EN

Stack Overflow用户
提问于 2013-03-23 00:24:31
回答 2查看 88关注 0票数 0

请帮我解决这个问题。

我使用的是Oracle数据库,其中有一个表,其中每秒插入4-5条记录,因此我必须检查全天,如果至少15分钟没有发生标记。

EN

回答 2

Stack Overflow用户

发布于 2013-03-23 00:42:05

您可以使用lag检查这一点。

例如,假设您的字段名为数据类型为timestampts

代码语言:javascript
复制
select ts , prior_ts
  from (select ts, 
               lag(ts) over (order by ts) prior_ts,
               case 
                 when ts - lag(ts) over (order by ts) > numtodsinterval(15, 'minute') 
                 then 'x' 
               end gap_flag 
          from your_table
         where ts between A and B -- limit checks to a range.
       ) 
 where gap_flag = 'x';

因此,它会给出> 15分钟的间隔。

票数 1
EN

Stack Overflow用户

发布于 2013-03-23 01:19:47

使用EXTRACT来获取diff之间的一般示例。时间戳-很难在Dazzal的例子中添加任何东西:

代码语言:javascript
复制
SELECT (end_mm-start_mm) minutes_diff
  FROM
  ( -- can extract hours and seconds the same way --
  SELECT EXTRACT(MINUTE From start_ts) start_mm  
       , EXTRACT(MINUTE From end_ts  ) end_mm
   FROM
  ( -- initial data -- 
  SELECT timestamp '2013-03-22 13:10:55' start_ts
       , timestamp '2013-03-22 13:26:35' end_ts
    FROM dual
  ))
 /

 Output: 16 minutes = 26 -10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15575247

复制
相关文章

相似问题

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