PostgreSQLで同じSQLをループで複数回使ってみる(with recursive)

はい、基礎的なSQLを作ってみたのですが、
それを複数の日付で何回も実行したい、と思いまして。

SQLでそもそも出来ないかなーと思ったら、ちょうどいいのがありました。

例)

with recursive seq(i) as (
select 0
union all
select i + 1 from seq where i < 3
)
select cast('2018-01-01' as timestamp) + cast(i || ' day' as interval)
as target_date
from seq;

結果)
2018-01-01 00:00:00.0
2018-01-02 00:00:00.0
2018-01-03 00:00:00.0
2018-01-04 00:00:00.0


with recursiveでループ部分を作り(上記だと0~3までの数字をiに返す)、
その内容をcastして日付に足した値を返します。

もう少しちゃんと作ったほうが良いのかもしれませんが、
雑な調査とかならこれで十分いけそうです。