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

Google Spanner Postgres DB如何查询最近5小时创建的ID?

解决PostgreSQL中查询最近5小时数据的问题

你的问题核心并非PostgreSQL不支持INTERVAL,而是存在两个常见的语法/类型匹配问题:

  • 关键字冲突:table和Date都是PostgreSQL的保留关键字,直接使用会触发语法错误,需用双引号包裹。
  • 时间类型不匹配:current_date返回不带时区的日期类型,和表中timestamp with time zone类型的Date列比较时,逻辑会出现偏差(比如current_date - INTERVAL '5 hour'得到的是当前日期前一天的固定时间,而非当前时间往前推5小时)。

正确的查询语句

直接使用带时区的当前时间戳(current_timestamp或now())计算,同时包裹关键字:

SELECT Id FROM "table" 
WHERE "Date" > current_timestamp - INTERVAL '5 hour';

等价写法:

SELECT Id FROM "table" 
WHERE "Date" > now() - INTERVAL '5 hour';

补充说明

  • current_timestamp和now()均返回当前的timestamp with time zone类型值,与你的Date列类型完全匹配,计算逻辑准确(当前时间往前推5小时)。
  • 若表名或列名不是关键字,可省略双引号,但建议养成包裹关键字的习惯以避免语法错误。

内容的提问来源于stack exchange,提问作者Sneha Mule

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:25:40