4

我有一个查询,我需要在其中使用 TimeSlots(以分钟为单位)。

说输入是

Start Date : 01-08-2012 00:00:00,
End Date : 02-08-2012 00:00:00,
Interval : 5 Minutes

输出应该是

2012-08-01 00:00:00.0
2012-08-01 00:05:00.0
2012-08-01 00:10:00.0
2012-08-01 00:15:00.0
.
.

(请忽略日期格式,因为我已经找到了解决方法)没有可供参考的表格,我可以从中获取基本时间戳并执行 floor() 等。

我认为我们可以使用 PostgreSQL 库中的 now() 函数,但我找不到“如何?” 直到现在。

提前致谢。

4

1 回答 1

10

好吧,这是我喜欢 Postgres 的原因之一:

SELECT generate_series(
   '01-08-2012 00:00:00'::timestamp, 
   '02-08-2012'::timestamp,
   '5 minutes'::interval);


  ┌─────────────────────┐
  │   generate_series   │
  ├─────────────────────┤
  │ 2012-01-08 00:00:00 │
  │ 2012-01-08 00:05:00 │
  │ 2012-01-08 00:10:00 │
  │ 2012-01-08 00:15:00 │
  │ 2012-01-08 00:20:00 │
  ...
于 2012-09-10T14:35:58.363 回答