「Oracle」DECODE関数で条件分岐するサンプル

環境
Oracle Database 12c Standard Edition Release 12.2.0.1.0 – 64bit Production

構文
SELECT
DECODE(列名, 値1, 結果1, 値2, 結果2, 結果3)
FROM テーブル名;
DECODE関数を使って指定した列の値によって異なる結果を返します

使用例1
指定した列の値が「値1」の場合、「結果1」を返します。
SQL構文

select
  decode('90', '90', '素晴らしい', '60', '合格', '不合格') 
from
  dual

実行結果
素晴らしい

使用例2
指定した列の値が「値2」の場合、「結果2」を返します。
SQL構文

select
  decode('60', '90', '素晴らしい', '60', '合格', '不合格') 
from
  dual

結果
合格

使用例3
それ以外の場合、「結果3」を返します
SQL構文

select
  decode('55', '90', '素晴らしい', '60', '合格', '不合格') 
from
  dual

結果
不合格

Oracle

Posted by arkgame