[ Oracle SQL ] if 文や switch 文 ( CASE ~ WHEN ) を使って条件分岐を行う

Pocket

一般的なプログラムで使われる if 文を SQL で記述するには CASE ~ WHEN を使用します。ここで掲載しているサンプルは Oracle で動作確認を行っていますが、MySQL や Postgres など他のデータベースでも動作するかもしません。

「安心してください。確認していません。」

スポンサーリンク

サンプル1:if 文

SQL で if 文のような記述を行うサンプルです。

select 
    age, 
    name, 
    case 
       when age >= 75 then '後期高齢者' 
       when age >= 60 then '前期高齢者' 
       else 'おっさんまたはおばさん' 
       end as description 
from 
  table1;

実行結果1

 AGE   NAME       DESCRIPTION
------ ---------- ----------------------
 75    小沢       後期高齢者
 74    小宮山     前期高齢者
 60    鳩山       前期高齢者
 59    野田       おっさんまたはおばさん

サンプル2:switch 文

SQL で switch 文のような記述を行うサンプルです。

select 
    age, 
    name, 
    case age 
       when 74 then 'ぎりぎり前期' 
       when 59 then 'ぎりぎり' 
       else 'その他' 
    end as description 
from 
 table1;

実行結果2

 AGE   NAME       DESCRIPTION
------ ---------- ------------
 75    小沢       その他
 74    小宮山     ぎりぎり前期
 60    鳩山       その他
 59    野田       ぎりぎり

2016-09-23追記

民進党の今後について

蓮舫さんが代表に就任しましたが、解体したほうがいいのではないでしょうか?見苦しい言い訳が目に余ります。そのうち得意芸でもある空中分解は自然と始まりそうではありますが。

というか、東京都の皆さんはなぜ蓮舫さんに票を入れるのかが理解に苦しみます。組合というやつでしょうか?

また、現在ここ富山県議会、富山市議会でも毎日のように政務活動費の水増し請求による議員辞職が続いています。どこも似たり寄ったりな気もしますが、政治とは何たるかを今一度振り返って欲しいものです。

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *