在日志表中查找最后1800秒(30分钟)的数据

时间:2017-05-25 09:20:26

标签: oracle oracle11g salesforce

我的表格中包含log_date列(dd mm-yy-hh-m-ss格式)

我试过的是:

select * from dum where(sysdate-log_date)<=1/48;

但是根本不起作用,请建议我应该使用什么?

2 个答案:

答案 0 :(得分:0)

假设LOG_DATE列属于DATE数据类型,您可以使用:

SELECT *
FROM   DUM
WHERE  log_date >= SYSDATE - INTERVAL '30' MINUTE;

如果您的LOG_DATE列是VARCHAR2,那么只需将其打包在TO_DATE()中:

SELECT *
FROM   DUM
WHERE  TO_DATE( log_date, 'dd mm-yy-hh-mi-ss' ) >= SYSDATE - INTERVAL '30' MINUTE;

(然后查看更改表格以使用DATE数据类型来存储日期而不是使用字符串。)

答案 1 :(得分:0)

SELECT * FROM dum WHERE log_date BETWEEN (SYSTIMESTAMP - 1800/(24*60*60)) AND SYSTIMESTAMP;
相关问题