我的表格中包含log_date
列(dd mm-yy-hh-m-ss
格式)
我试过的是:
select * from dum where(sysdate-log_date)<=1/48;
但是根本不起作用,请建议我应该使用什么?
答案 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;