Sql-如何获取最后5分钟的数据

问题描述 投票:2回答:4

您好,我正在尝试从数据库中提取最后5分钟的数据。我在下面编写的查询未提取我需要的数据。

Select e.*
  from Event e
 where e.whenoccurred >= datefunc('10/01/2019 00:00 -05:00', '-5 minutes') 
   and dateadd(minutes,-5,getdate())  

我收到错误

Query has failed: no such column: minutes

任何有帮助的想法吗?

mysql sql dateadd
4个回答
2
投票

使用

Query #1 Demo

 SELECT * FROM event
 where whenoccured >= date_sub(now(), interval 5 minute);

Query #2 Demo

 SELECT * FROM event
 WHERE whenoccured >= NOW() - INTERVAL 5 MINUTE;

Query #3 Demo

 SELECT * FROM event
 WHERE DATE_ADD(whenoccured , INTERVAL 5 MINUTE) >= NOW();

1
投票

SysDate返回为数据库所在的操作系统设置的当前日期和时间。返回值的数据类型为DATE,并且返回的格式取决于NLS_DATE_FORMAT初始化参数的值。该函数不需要参数。在分布式SQL语句中,此函数返回为本地数据库的操作系统设置的日期和时间。

此查询得到sysdate减去五分钟。

 select *
  from event
 where whenoccured >= sysdate - (5/1440)

1
投票

您可以使用

select *
  from event
 where whenoccured >= systimestamp - interval '5' minute

[systimestamp代表返回当前系统日期,包括小数秒和时区。

Update如果是MySQL DB,而不是最初带有标签的Oracle,则使用date_sub()函数:

date_sub()

假设select * from event where whenoccured >= date_sub(now(), interval 5 minute); 列的类型为whenoccureddatetime

timestamp


0
投票

在SQL Server上,dateadd

© www.soinside.com 2019 - 2024. All rights reserved.