5

TIMESTAMP 类型的字段进入最后n小时是否是一种简单的比较方法?我可以根据日期和时间进行计算,但有没有可能像

timestamp > SYSDATE - 1

(SYSDATE - 1) 是昨天,据了解,这将检查时间戳是否在过去 24 小时内。

提前致谢。

4

4 回答 4

14

如果您需要查找最近 n 小时内的记录,则从当前时间中减去一个时间间隔。对于 Oracle,间隔的数量必须用单引号括起来。您可以使用许多时间间隔(小时、分钟、秒、日、年、月)。

timestampfield > current_timestamp - interval '1' hour
于 2012-05-10T17:14:01.687 回答
4

您也可以添加/减去非整数,例如:

SELECT SYSDATE - 0.5 FROM dual;

表示现在之前的 12 小时。

于 2012-05-10T17:01:31.777 回答
3

你可以使用喜欢

timestamp > to_timestamp(sysdate-1)
于 2012-05-10T17:01:08.740 回答
1

你可以这样做:

时间戳 > 强制转换(sysdate-1 作为时间戳)

于 2012-05-10T16:58:09.873 回答