CASE式

CASE WHEN 評価式 THEN 式
   WHEN 評価式 THEN 式
     WHEN 評価式 THEN 式
     ⋮
     ELSE 式
END

評価式とは、「列=値」のように戻り値が真理値(TRUE/FALSE/UNKNOWN)になるような式のこと。 この結果が真(TRUE)であった場合に、THEN句で指定された式が戻されてCASE式全体が終わる。 もし真にならなければ、次のWHEN句の評価に移る。 これを最後まで繰り返してなお真にならなければ「ELSE」で指定された式が戻されて終了になる。

例)CASE式で商品分類にA,Bの文字を割り当てる

SELECT shohin_mei,
CASE WHEN shohin_bunrui = '衣服';
     THEN 'A:' || shohin_bunrui
     WHEN shohin_bunrui = '事務用品';
     THEN 'B:' || shohin_bunrui
     ELSE NULL
END AS ab_shohin_bunrui
FROM shohin;

//結果
shohin_mei | ab_shohin_bunrui
-----------+-----------------
Tシャツ     |A:衣服
穴あけパンチ |B:事務用品
スカート    |A:衣服