2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ORACLE_SQLのIF文

Posted at

#SQLにおけるIF文:CASE ~ WHEN
・「単純 CASE 式」と「検索 CASE 式」の2通りの記述方法がある。
・SELECT結果を条件に応じて表示する値を変えたり、条件にあうデータをUPDATEしたり出来る。

##書式
単純CASE式
条件判断の対象列が1つで、「~と等しい」という条件で利用。

CASE 処理対象の列名
    WHEN 条件1 THEN 戻り値1
    WHEN 条件2 THEN 戻り値2
    ・・・
    ELSE 全条件に一致しないときの戻り値
END

例文1

SELECT name,
       price * sold AS "売上高",
       CASE
           WHEN price * sold >= 5000 THEN '売れ筋商品'
           WHEN price * sold >= 3000 THEN '売上良好'
           ELSE '売上不調'
       END AS "評価"
FROM sales;

●実行結果
NAME       売上高      評価
----------------------------------
みかん      3500    売上良好
バナナ      2000    売上不調
いちご      6000    売れ筋商品

検索CASE式
条件判断の対象が複数の場合や、「=」以外の比較演算子を使いたい場合に利用。

CASE 処理対象の列名
    WHEN 列名1 <比較演算子> 条件1 THEN 戻り値1
    WHEN 列名2 <比較演算子> 条件2 THEN 戻り値2
  ・・・・
  ELSE 全条件に一致しないときの戻り値
END

例文1

SELECT height, gender
       CASE
           WHEN height <= 150  THEN '子供'
           WHEN height <= 170  THEN '大人'
           WHEN gender = 'F'   THEN '女'
           WHEN gender = 'M'   THEN '男'
         ELSE                     'その他'
       END status
FROM family;

●実行結果
HEIGHT    GENDER    STATUS
145       F         子供
160    M         大人   
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?