Postgres使用generate_series

时间:2017-02-06 07:42:30

标签: postgresql date generate-series

我的Postgres数据库中有一个表,其中有date列。我想搜索缺少哪些日期,例如:

        date
|2016-11-09 18:00:00|
|2016-11-09 19:00:00|
|2016-11-09 20:00:00|
|2016-11-09 22:00:00|
|2016-11-09 23:00:00|

这里缺少2016-11-09 21:00:00。我想使用generate_series进行查询,返回缺少的日期。

1 个答案:

答案 0 :(得分:3)

SELECT t
   FROM generate_series(
           TIMESTAMP WITH TIME ZONE '2016-11-09 18:00:00',
           TIMESTAMP WITH TIME ZONE '2016-11-09 23:00:00',
           INTERVAL '1 hour'
        ) t
EXCEPT
SELECT tscol
   FROM mytable;