いろいろな備忘録書いてくブログ

SEが適当に備忘録を書いていくブログです

SQL CASE式の書き方

簡単に言うと、SQLでif文的なものが書けるのがCASE式になる。

・サンプル
SELECT
  CASE type 
    WHEN 'A' THEN 'アヴェンジャーズ'
    WHEN 'X' THEN 'X-MEN'
  ELSE 'ジャスティス・リーグ' END

FROM team 

 

以下の書き方も可

SELECT
  CASE 
    WHEN type = 'A' THEN 'アヴェンジャーズ'
    WHEN type = 'X' THEN 'X-MEN'
  ELSE 'ジャスティス・リーグ' END

FROM team 

 

・注意が必要な点

返す値の型は統一する必要がある。

END句の書き忘れに注意する。

ELSE句はなくても問題ないが、その場合に分岐に引っかからないとNULLが返ってくるので気をつける。

 

CASE句を使うとSQLで取得した値を再変換する手間が省けて便利

 

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)