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

PostgreSQL使用Unix时间戳查询DATE列返回异常数据,求排查原因

SQL查询返回不符合预期记录的原因与修复

你的问题出在时间戳转date类型的截断操作上:

  • 你用to_timestamp(1660346076)得到的是Fri Aug 12 2022 23:14:36 GMT+0000,但加上::date后,这个时间会被截断为当天的起始时刻——2022-08-12 00:00:00 +00:00。
  • 此时你的查询条件实际变成了updated_at >= '2022-08-12 00:00:00 +00:00',那条2022-08-12 22:59:07.625179 +00:00的记录自然满足这个条件,所以被返回。

修复方法

如果要筛选严格晚于等于原始时间戳对应时刻的记录,直接去掉::date转换即可:

select *
from car c
where c.updated_at >= to_timestamp(1660346076)

如果你确实需要按日期维度筛选,要明确你的时间范围逻辑(比如筛选8月12日全天的记录,或8月13日及以后),避免无意识的时间截断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 09:09:17