You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL如何查询creation_date为当前时间1小时内的数据?

Oracle SQL 查询当前时间1小时内及之后的记录

针对你的需求,这里提供两种适配不同数据类型的SQL写法:

当creation_date是带时区的时间戳类型(TIMESTAMP WITH TIME ZONE)

这种情况对应你给出的带+00:00格式的时间,推荐用带时区的系统时间来比较,避免时区误差:

SELECT invoice_number, creation_date
FROM your_table_name
WHERE creation_date >= SYSTIMESTAMP - INTERVAL '1' HOUR;
  • SYSTIMESTAMP是Oracle的系统带时区时间戳,和你的creation_date类型匹配,能保证时区一致的对比。
  • INTERVAL '1' HOUR表示1小时的时间间隔,用当前系统时间减去这个间隔,就能得到1小时前的时间点,筛选大于等于该时间点的记录,就是你要的1小时内及之后的数据。

当creation_date是普通DATE类型

如果实际存储的是不带时区的DATE类型,也可以用DATE类型的加减逻辑:

SELECT invoice_number, creation_date
FROM your_table_name
WHERE creation_date >= SYSDATE - 1/24;
  • 在Oracle中,DATE类型的数值计算以天为单位,1/24就代表1小时,SYSDATE - 1/24即为当前时间往前推1小时的时间点。

注意:记得把SQL中的your_table_name替换成你实际的表名。

内容的提问来源于stack exchange,提问作者Faris Adnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 18:45:26