ものすごく久しぶりの記事になってしまった。
いまの現場ではSQLを使用する機会が多いので、今回はすぐに使い方を忘れるDECODEについて説明しようと思います。
DECODEはJavaでいうIF文のようなもので、条件分岐によって値を変換させることができます。
Code | Name | Result |
---|---|---|
01 | 田中 | 1 |
02 | 鈴木 | 2 |
03 | 中村 | |
04 | 山崎 | 1 |
今回は上記のテーブルを使用します。
名前と、テストの評価結果を格納しているテーブルです。
また、DECODE関数は以下の形式で使用します。
DECODE
DECODE(列名, 値1, 結果1, 値2, 結果2, 結果3)
実際にSQLに組み込むと以下のようになります。
SQL
SELECT
Code,
Name,
DECODE(Result, 1, '合格', 2, '不合格', '審査中') AS Result
FROM
TABLE1;
上記のSQLの実行結果は、以下のようになります。
Code | Name | Result |
---|---|---|
01 | 田中 | 合格 |
02 | 鈴木 | 不合格 |
03 | 中村 | 審査中 |
04 | 山崎 | 合格 |
このように、Resultが1の場合は「合格」に変換、2の場合は「不合格」に変換、それ以外の場合は「審査中」に変換……といったことがDECODEではできます。
意外と使う機会が多いので、きちんと覚えておいた方がいい関数です。