从 Postgres 中的纪元列表中获取特定时间段

Posted

技术标签:

【中文标题】从 Postgres 中的纪元列表中获取特定时间段【英文标题】:Get specific time period from a list of epoch in Postgres 【发布时间】:2018-10-27 05:39:29 【问题描述】:

我在 Postgres 中有以下带有纪元时间戳的表格。我想选择时间为 太平洋标准时间 20:00 到 21:00 的时间戳。我已经部分尝试了以下方法,但似乎无法同时提取小时和分钟。

SELECT timestamp from table where extract(‘hour’ from to_timestamp(created_at) at time zone ‘America/Los_angeles’) > 20

| created_at |

| 1526528788 |

| 1526442388 |

| 1526309188 |

| 1526359588 |

| 1526532388 |

| 1526489188 |

预期结果:

| created_at |

| 1526528788 |

| 1526442388 |

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

你的意思是PST,为什么要写America/Los Angeles?它们(有时)是不同的。

这能解决你的问题吗:

... WHERE extract(hour FROM
                  to_timestamp(1526309188) AT TIME ZONE 'PST'
                 ) BETWEEN 20 AND 21;

【讨论】:

嗨 Laurenz,通过上述解决方案,我在 21:00 之后获得了时间戳。我只想从 20:00 到 21:00 获取所有时间戳。非常感谢您的帮助。 我不这么认为。可以举个例子吗?

以上是关于从 Postgres 中的纪元列表中获取特定时间段的主要内容,如果未能解决你的问题,请参考以下文章

Postgres 选择从昨天开始存储为纪元的记录

范围 COUNT 查询基于 Hibernate 中纪元时间戳的 DATE

上个月开始和结束的 Postgres 纪元摘录

如何对具有纪元值的列进行 JOIN 查询,忽略 postgres 中的时间部分

如何从 Perl 中的随机纪元时间戳获取纪元形式的月份开始?

如何仅从 postgres 获取特定键的 jsonb?