データベース - SQL 構文 - CASE 式

 クラウディア
1. 概要
2. 使い方

1. 概要

 「CASE」式ちゅうのを使うと、テーブルの値をわかりやすく表示することができます。  本ページは、下記のサイトを参考にさせていただきました。
CASE 式で条件分岐を SQL 文に任せる」
「SQL Server CASE の使い方 条件分岐

2. 使い方

 下記で、作成したテーブルがあります(カラム名のひどさは置いといて)。

CREATE TABLE PUBLIC.SAMPLE
(
    INDEX INTEGER NOT NULL
  , NAME TEXT NOT NULL
  , AGE INTEGER NOT NULL
);
 これを

SELECT
     NAME
    ,AGE
FROM
    SAMPLE
;
 で「SELECT」すると

hogehoge	19
fugafuga	20
piyopiyo	21
 てな感じで表示されるのですが、「CASE」式を使って

SELECT
     NAME
    ,AGE
    ,CASE WHEN AGE < 20 THEN '未成年' WHEN AGE >= 20 THEN '成人' END 区分
FROM
    SAMPLE
;
 てな「SQL」にすると、その結果は

hogehoge	19	未成年
fugafuga	20	成人
piyopiyo	21	成人
 てなことになります。  「WHEN」の書き方などもっといろいろあるのですが、そういうのは、気が向いたらということで・・・。