trdsql CASE式
Posted on:
CASE式は、プログラム言語のif文やswitch文のような条件に分岐した処理をおこないます。単純な1を’A’に変換するような場合は、一時的なテーブルとJOINさせたり文字列の書き換えで可能ですが、
範囲を指定してグループ化したい場合はCASE式を使うと便利です。
CASE式には以下の2つのパターンどちらも使用できます。
CASEはCASE 式(列) WHEN 値 THEN 結果とCASEの後に式を書いて、WHENが値だけのパターンとCASE WHEN 式 THEN 結果とCASEの式を省略してWHENに式を書くパターン
必要であれば、ELSE 結果で当てはまらない場合を書き、ENDで式の終わりを示します。
case.csv のようなCSVを使用して、scoreが80以上の場合は’A’、30以上の場合は、‘B’、30より下の場合は、‘F’と表示させてみます。
CASE式は書いた先から評価されます。
また式は1つの列をである必要が無いので、WHEN name = 'dave' THEN 'D' という条件を追加することも可能です。