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

使用PGADMIN 4操作PostgreSQL,需修改查询语句添加日期小时筛选

调整PostgreSQL查询以添加小时维度筛选

没问题,我来帮你修改这个查询,轻松实现按小时维度筛选数据的需求。先理清楚原查询的逻辑:它是获取昨天全天(从昨天0点到今天0点)的source_action = 'funding'审计记录。接下来根据你提到的“筛选当前日期早上6点的数据”的需求,我提供几种常见场景的修改方案:

场景1:筛选当前日期早上6点整所在小时的记录(6:00 - 7:00)

如果要获取当天6点到7点之间的所有funding审计记录,可以用CURRENT_DATE + INTERVAL '6 hours'来构造当天6点的时间点,再结合区间筛选:

SELECT object_key, audited_changes, created_at 
FROM pg_audits 
WHERE source_action = 'funding' 
  AND created_at >= CURRENT_DATE + INTERVAL '6 hours'
  AND created_at < CURRENT_DATE + INTERVAL '7 hours'
ORDER BY created_at DESC;

场景2:筛选从当前日期早上6点到现在的所有记录

如果需要获取当天6点之后到当前时刻的所有数据,只需要调整结束时间为NOW()即可:

SELECT object_key, audited_changes, created_at 
FROM pg_audits 
WHERE source_action = 'funding' 
  AND created_at >= CURRENT_DATE + INTERVAL '6 hours'
  AND created_at < NOW()
ORDER BY created_at DESC;

场景3:替换原逻辑,获取“昨天早上6点到今天早上6点”的记录

如果你是想把原查询的“昨天全天”范围改成“昨天6点到今天6点”(很多业务会用这种按小时偏移的统计周期),可以这样写:

SELECT object_key, audited_changes, created_at 
FROM pg_audits 
WHERE source_action = 'funding' 
  AND created_at >= CURRENT_DATE - INTERVAL '18 hours'  -- 等价于昨天6点(当前日期0点减18小时)
  AND created_at < CURRENT_DATE + INTERVAL '6 hours'     -- 当前日期6点
ORDER BY created_at DESC;

小提示

PostgreSQL里的CURRENT_DATE返回的是当天00:00:00的日期值,通过加/减INTERVAL可以灵活构造任意小时维度的时间点,非常适合这类时间范围筛选需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:07:19