2012-09-10 115 views
2

我有一个查询,我需要使用TimeSlots(以分钟为单位)。(PostgreSql)基于给定的开始日期,结束日期和时间间隔(分钟)计算时间槽

说输入是

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 
. 
. 

(请忽略日期格式为我想通出路为该) 没有为参考没有表从哪里可以拿一个基本的时间戳和做楼()等

我认为我们可以使用now()函数从PostgreSQL库,但我无法找到“怎么样?”到现在为止。

在此先感谢。

回答

7

嗯,这里是我爱的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 │ 
    ... 
+0

A.W.E.S.O.M.E! –

相关问题