以前、Pythonで条件分岐をするための記事を投稿しました。
データベースの操作でも、SQLを発行することで条件分岐を行うことができます。
例えば、【項目Aの値が項目Bよりも大きかったらフラグを立てたい】など、使い方は様々です。
本日は、CASEの基本的な記述方法をご紹介したいと思います。
記事要約
- CASEの基本構文
- サンプルと実行結果
目次
条件分岐の基礎:CASEの書き方
基本的な書き方
以下のように記述します。
まずは、SELECT文で確認していきたいと思います。
SELECT 項目1,項目2,
CASE
WHEN 条件1 THEN 条件1を満たしたら実行される処理
ELSE 条件を満たしていないに実行される処理
END
FROM テーブル名称;
条件によって、任意の値に変換する
CASEは、列の値を条件式によって評価して、結果に応じて別の値に変換をすることができます。
まずはサンプルで、以下の条件で実行してみたいと思います。
実現したいこと
- WINDOWテーブルを利用する
- trading_dateの日付によって、何月かを判定し、結果を出力する
サンプルコード
SELECT trading_date,closing_price,
CASE
WHEN trading_date < 20220201 THEN '1月'
WHEN trading_date >= 20220301 THEN '3月'
WHEN trading_date < 20220301 THEN '2月'
END AS Month
FROM WINDOW;
実行結果
結果が長くて、すみません、、、
無事に、取引日から、対象のレコードが「何月」か?という列を追加することができました。