SQL内でCASEを記述する、条件分岐する

2008-01-05
このエントリーをはてなブックマークに追加

select
case
when hoge = 1 then ‘1でした’
when hoge = 2 then ‘2でした’
end as hogecase from hogetable

わかりにくい例ですが、case~endがまぁcaseブロック、when以降が条件、then以降が結果ですね。コレをしらないと、ロジック側でループさせながらぐりぐり判定させないといけないのですが、知っていることによって大幅にロジックを減らせます。

SQLServerやPostgreSQL限定ではなく、SQL-92に載っている手法なので、他のDBでも利用可能です。知っておくべき、活用すべきでしょう。

Tags: