我怎么能通过SQL查询在当前时间之前看到最后5分钟的记录我怎么能做到这一点.时间戳的格式是
03/25/2014 14:00:00
Run Code Online (Sandbox Code Playgroud)
我使用了这个查询
SELECT Time stamp FROM TABLE
WHERE S >1 AND SUBSTRING((Time stamp,15,2)-5)
Run Code Online (Sandbox Code Playgroud)
这是完全相同的任何其他方式
如果您使用的是 MySQL 并且您的timestamp列是数据类型,datetime您可以这样做
SELECT Timestamp
FROM your_table
WHERE Timestamp >= now() - interval 5 minute
Run Code Online (Sandbox Code Playgroud)
select *
from the_table
where timestamp_column <= timestamp '2014-03-25 14:00:00' - interval '5' minute;
Run Code Online (Sandbox Code Playgroud)
这假设timestamp_column是用数据类型定义的timestamp。
如果不是,你应该停止,现在,重新定义你的表来使用正确的数据类型。
该表达式timestamp '2014-03-25 14:00:00'是一个 (ANSI SQL) 时间戳文字。
它等同于to_timestamp('2014-03-25 14:00:00', 'yyyy-mm-dd hh24:mi:ss')但我更喜欢 ANSI 文字,因为它的输入更少并且可以跨多个 DBMS 工作。
如果您的时间戳是日期列,则可以执行以下操作:
select t.*
from table t
where t.timestamp >= sysdate - 5/(24*60)
Run Code Online (Sandbox Code Playgroud)
如果timestamp是字符列,事情会更有趣.然后你需要将它翻译成日期/时间:
select t.*
from table t
where to_date(t.timestamp, 'MM/DD/YYYY HH24:MI:SS') >= sysdate - 5/(24*60)
Run Code Online (Sandbox Code Playgroud)