SQL生成一组日期

SQL生成一组日期,sql,datetime,postgresql,Sql,Datetime,Postgresql,我试图找到一种方法,让SELECT语句返回两个输入日期之间的一组日期,时间间隔给定。我想能够很容易地改变时间框架和间隔,将返回,所以硬编码的东西与一系列的选择。。。工会并不理想 例如:我希望所有日期在最后60秒内每隔5秒显示一次 预期: times --------------------- 2009-02-05 08:00:00 2009-02-05 08:00:05 2009-02-05 08:00:10 2009-02-05 08:00:15 2009-02-05

我试图找到一种方法,让SELECT语句返回两个输入日期之间的一组日期,时间间隔给定。我想能够很容易地改变时间框架和间隔,将返回,所以硬编码的东西与一系列的选择。。。工会并不理想

例如:我希望所有日期在最后60秒内每隔5秒显示一次

预期:

            times
---------------------
2009-02-05 08:00:00
2009-02-05 08:00:05
2009-02-05 08:00:10
2009-02-05 08:00:15
2009-02-05 08:00:20
...
2009-02-05 08:00:55
编辑: generate_series(…)可以用来代替SELECT中的表,并模拟一个表,其中包含一系列具有给定起始值、结束值和可选步骤的数字。从那里,它可以被转换为时间函数所需的类型,并在选择过程中进行操作


谢谢你。

时间戳算法在PostgreSQL中真的很难:)
SELECT CAST (s || ' seconds' AS INTERVAL) + TIMESTAMP 'now'
FROM generate_series(0, -60, -5) s