SQLのCASE
いつも書き方を忘れるのでメモ。
SELECTでデータに保存されている値とは違った表示をしたい場合に使える。例えば、既婚者かどうかを数字でstatusに格納してある場合、そのまま出すとわかりにくい。
こんな場合にCASEを使ってわかりやすい文字列に置き換えてみる。
select name, case status when 1 then 'Single' when 2 then 'Married' end as status, city from users
このまま出すと
Taro | 1 | Tokyo
Hanako | 2 | Kanagawa
Yamada | 2 | Fukushima
これがCASE文を使うと↓のようになる
Taro | Single | Tokyo
Hanako | Married | Kanagawa
Yamada | Married | Fukushima