[データベース] 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)

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

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。




コメントを残す