SQLのCASE式の使い方を基礎からUPDATE文での応用まで
https://techplay.jp/column/1733
https://qiita.com/sfp_waterwalker/items/acc7f95f6ab5aa5412f3
https://codezine.jp/article/detail/404?p=3
・単純CASE式の使用
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
CASE 列名 または 変数 または 式 WHEN 値1 THEN 結果1 WHEN 値2 THEN 結果2 ... ELSE デフォルト結果 END SELECT name, CASE gender WHEN 'M' THEN '男性' WHEN 'F' THEN '女性' ELSE '不明' END AS gender_text FROM users; SELECT CASE MAX(INI_TRANS) WHEN 1 THEN 'NUM.1' WHEN 2 THEN 'NUM.2' ELSE 'Unnown' END AS gender_text FROM user_tables; ※Oracle限定 |
・検索条件を含んだCASE式
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
CASE WHEN 条件1 THEN 結果1 WHEN 条件2 THEN 結果2 ... ELSE デフォルト結果 END SELECT name, CASE WHEN age < 18 THEN '未成年' WHEN age >= 18 AND age < 65 THEN '成人' ELSE '高齢者' END AS age_group FROM users; |
・CASE式の結果を別名で表示する
|
1 2 3 |
CASE WHEN 条件 THEN 結果 END AS 別名 |