データベース

SELECT一発で毎月1日のタイムスタンプを1年分取得する

一発ネタ。
PostgreSQLで下記クエリを実行すると、今月から1年間の毎月1日のタイムスタンプが取得できます。

SELECT date_trunc('month', current_date) + (a.s || 'month')::INTERVAL FROM generate_series(0,11) AS a(s)

実行結果は次のようになります。

        ?column?
------------------------
 2011-04-01 00:00:00+09
 2011-05-01 00:00:00+09
 2011-06-01 00:00:00+09
 2011-07-01 00:00:00+09
 2011-08-01 00:00:00+09
 2011-09-01 00:00:00+09
 2011-10-01 00:00:00+09
 2011-11-01 00:00:00+09
 2011-12-01 00:00:00+09
 2012-01-01 00:00:00+09
 2012-02-01 00:00:00+09
 2012-03-01 00:00:00+09
(12 rows)

リファレンス読んでて思いつきでやったら出来ちゃった。

スポンサーリンク
記事を書いた人

システムえんじにゃー🐈
趣味はエレキギター、自転車など。作曲したい。
World of Warshipsやってます。
記事に関する質問はお気軽にどうぞ。

surface0 (さーふぇす)をフォローする

コメント

タイトルとURLをコピーしました