プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

SQL CASE文


スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ) より

さて、SQLの続きをやっていきます。
此処まででもエクセルでは難しかった事が
色々出来るようになっていてなかなか面白いです。

本日はCASE文

CASE 評価する列や式 WHEN 値1 THEN1の時に返す値
         (WHEN 値2 THEN2の時に返す値)・・
         (ELSE デフォルト値)
END

f:id:tos5511:20160131233040p:plain

/* 費目の値に応じて変換する */
SELECT 費目, 出金額,
       CASE 費目 WHEN '居住費' THEN '固定費'
                 WHEN '水道光熱費' THEN '固定費'
                 ELSE '変動費'
       END AS 出費の分類
  FROM 家計簿
 WHERE 出金額 > 0

実行結果
f:id:tos5511:20160131233132p:plain

条件式でパターン分け

/* 条件に応じた値に変換する */
SELECT 費目, 入金額,
       CASE WHEN 入金額 < 5000 THEN 'お小遣い'
            WHEN 入金額 < 100000 THEN '一時収入'
            WHEN 入金額 < 300000 THEN '給料出たー!'
            ELSE '想定外の収入です!'
       END AS 収入の分類
  FROM 家計簿
 WHERE 入金額 > 0

実行結果
f:id:tos5511:20160131233439p:plain

これは結構使いそう。