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

如何基于Linux秒级时间戳获取最近24小时的数据库条目?

解决bigint类型时间戳转DATE报错的问题

错误原因:你的timestamp字段是存储秒级Linux时间戳的bigint类型,PostgreSQL无法直接将整数类型强制转换为DATE类型,必须先转换为时间戳类型。

以下是两种可行的解决方法:

  • 方法一:先将bigint时间戳转为timestamp,再转为DATE进行比较
SELECT * FROM some_table 
WHERE to_timestamp(timestamp)::DATE > CURRENT_DATE - INTERVAL '1 day';
  • 方法二:直接比较时间戳数值(推荐,可利用索引提升效率)
    将"最近24小时"的起始时间转为秒级时间戳,直接与字段的bigint值对比,避免每条记录都做类型转换:
SELECT * FROM some_table 
WHERE timestamp > extract(epoch from CURRENT_TIMESTAMP - INTERVAL '1 day')::bigint;

注意:如果你的时间戳是毫秒级,需要先除以1000再转换,比如to_timestamp(timestamp/1000)。

内容的提问来源于stack exchange,提问作者François Richard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:24:18