首页 > 解决方案 > 如何在一天中的 2 个特定时间之间进行查询

问题描述

只需要从特定时间仅在美国东部标准时间上午 10:00 到晚上 9:59 之间的表中查询结果。

使用此查询示例:

SELECT
s.id as "ID",
to_char(s.started_at AT TIME zone 'UTC-5', 'HH12:MIam') as "Start_time",
FROM
stats s
WHERE
s.started_at IS NOT NULL

有没有人有一个 WHERE 语句可以显示这些结果,而不管 DATE 是什么?

标签: postgresqldate-arithmeticsql-timestamp

解决方案


将列转换为time

SELECT ...
FROM states s
WHERE CAST ((s.started_at AT TIME ZONE 'EST') AS time)
      BETWEEN TIME '10:00' AND TIME '21:59';

推荐阅读