LoginSignup
0
0

More than 1 year has passed since last update.

SQLのDECODEについて

Posted at

ものすごく久しぶりの記事になってしまった。
いまの現場では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ではできます。
意外と使う機会が多いので、きちんと覚えておいた方がいい関数です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0