假设我要每24分钟每5分钟生成一个系列。如何在PostgreSQL中做到这一点?
PostgreSQL可以generate_series()
来自timestamp
,但不能来自time
。
选择任意时间戳更好还是还是有另一种方式来生成系列?
假设我要每24分钟每5分钟生成一个系列。如何在PostgreSQL中做到这一点?
PostgreSQL可以generate_series()
来自timestamp
,但不能来自time
。
选择任意时间戳更好还是还是有另一种方式来生成系列?
Answers:
要优化:
SELECT x::time
FROM generate_series(timestamp '2000-01-01 00:00'
, timestamp '2000-01-02 00:00'
, interval '5 min') t(x);
日期是无关紧要的,因此请使用任意时间戳常量。演员time
非常便宜。
这包括下限和上限,因此我们得到了'00:00'
两倍。使用'2000-01-01 23:59'
作为上限仅一次得到它。
有关:
我喜欢@EvanCarroll的方式,但还有另一个选择-
select x::time
from generate_series
(current_date,current_date + '1 day - 1 second'::interval,'5 minute') as t(x);