【SQL】SQL ~ CASE文 ~

■ はじめに

SQL の CASE文について扱う。

目次

【1】CASE文
【2】種類
 1)単純CASE式(simple case)
 2)検索CASE式(searched case)
【3】使用上の注意
【4】DBNullの判定

 【1】CASE文

 * 非依存(SQL-92で標準)

 【2】種類

1)単純CASE式(simple case)
2)検索CASE式(searched case)

1)単純CASE式(simple case)

 構文

CASE 列名
WHEN 条件 THEN 返値
(WHEN 条件 THEN 返値)
(ELSE 返値)
END
 検索CASE式(複雑な条件が書ける)
CASE
 WHEN 条件 THEN 返値
(WHEN 条件 THEN 返値)
(ELSE 返値)
END

  サンプル

CASE sex
WHEN '1' THEN ''
WHEN '2' THEN ''
ELSE 'その他'
END

2)検索CASE式(searched case)

CASE
WHEN sex = '1' THEN ''
WHEN sex = '2' THEN ''
ELSE 'その他'
END

 【3】使用上の注意

* 最後のENDを忘れずに
 => 個人的には、最後のENDを忘れるので注意

【4】DBNullの判定

 構文

CASE [NULL判定する変数] IS NULL
THEN [真だった場合の戻り値]
ELSE [偽だった場合の戻り値] END

 サンプル

CASE
WHEN sex = '2'    THEN ''
WHEN sex IS NULL  THEN ''
ELSE NULL
END