【SQLで条件分岐】SQLのCASE句について

f:id:koko55120:20220117170608j:plain
SQLにもプログラムのようにif~else文のような条件式を使う事ができるのはご存知でしょうか?

SQLのCASE句についてまとめてみます。


CASE句で条件式に一致するかどうかで返す値を変えることができる

SQLのCASE句を使う事で条件分岐をSQL文で行うことができます。

CASE句は下記の構文です。

CASE
 WHEN {条件式} THEN {真の場合の値}
 WHEN {条件式} THEN {真の場合の値}
  :
  ELSE {偽の場合の値}
END


例えば、列名性別があったとして、'0'なら男、'1'なら女を返す。


どちらにも一致しない場合は'-'を返すというイメージです。

性別
0
1
CASE 性別
 WHEN 0 THEN '男'
 WHEN 1 THEN '女'
 ELSE '-'
 END


CASE句はWHEN句を必ず記載しなければならないので構文には注意しましょう。