新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

AWS Redshiftで連番・カレンダーテーブルを作る方法

AWS RedshiftからGoogle BigQueryに移行して、ここ数年Redshiftを使っていませんでした。

しかし、ついに従量課金のRedshiftこと、Redshift Serverlessが登場して気になりはじめ、久しぶりに遊び程度ですがRedshiftを使ってみました。

案の定、使い方は完全に忘れていました…。

RedshiftでSQLを書いている時、連番テーブルやカレンダーテーブルが欲しことがあったのですが、それらを作るのに手間取ったので、ここにメモしておきます。

連番テーブル

RedshiftのSQLはPostgreSQL準拠で、PostgreSQLには連番を生成する関数generate_series()関数がありますが、Redshiftはgenerate_series()をサポートしていません。

しかしこれは、テーブルの行を読み出した時に呼び出す場合の話で、実はFROMを伴わない、単独呼び出しには使えます。

0から2までの連番テーブル

SELECT generate_series(0, 2) AS cnt
cnt
0
1
2

カレンダーテーブル

連番テーブルが作れたので、後はそれを使ってカレンダーテーブルが作れます。

2022-01-01から3日間のカレンダーテーブル

SELECT
  DATEADD(DAY, cnt, DATE('2022-01-01')) AS dt
FROM (SELECT generate_series(0, 2) AS cnt)
dt
2022-01-01 00:00:00
2022-01-02 00:00:00
2022-01-03 00:00:00

感想など

Redshift Serverlessは従量課金なので、使わない時はほっとけばいいので精神衛生上いいですね。

RedshiftとBigQueryを行き来していたら頭が疲れてしまいました。

よく使う構文の、RedshiftとBigQueryの対応表作ろうかなぁ。

関連カテゴリー記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com