ORACLE機能 SQL

[SQL] 検索結果に条件分岐を行う(CASE~WHEN)

投稿日:2017年4月8日 更新日:

検索した結果に対して条件分岐処理を入れて、表示を変えたい場合にはCASE~WHEN句を使用します。

構文

CASE~WHEN構文は、①値で分岐するパターンと②条件で分岐するパターンがあります。

(①値で分岐するパターン)
CASE <値>   WHEN <比較値1> THEN <結果1>   WHEN <比較値2> THEN <結果2>   ELSE <結果その他> END
(②条件で分岐するパターン)
CASE   WHEN <条件1> THEN <結果1>   WHEN <条件2> THEN <結果2>   ELSE <結果その他> END

サンプルソース

以下のテーブルをサンプルとします。

【TBL_SYAIN】
CDNAMEDEPTSCORE
001田中1038
002山本2092
003篠原1075
004米山9963
005藤田3049

例)deptを名称に変換して表示する

結果
CD NAME DEPT ---- ------ -------- 001 田中 営業部 002 山本 開発部 003 篠原 営業部 004 米山 その他 005 藤田 総務部

例)scoreによって結果を表示する

結果
CD NAME DEPT ---- ------ -------- 001 田中 不合格 002 山本 合格 003 篠原 補習 004 米山 補習 005 藤田 不合格

メモ

  • DECODE関数でも同様のことができます。

スポンサーリンク

スポンサーリンク

-ORACLE機能, SQL

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ORACLE

[ORAエラー] ORA-01790: 式には対応する式と同じデータ型を持つ必要があります

以下のように表示されます。 (日本語) ORA-01790: 式には対応する式と同じデータ型を持つ必要があります (英語 ...
ORACLE

[ORACLE] 表領域に対応するデータファイルを確認する

表領域に対応するデータファイルを確認するサンプルです。 サンプル 例)表領域に対応するデータファイルを確認するSQL [ ...
ORACLE

[ORACLE関数] 数値の符号を取得する(SIGN)

数値の符号を取得するには、SIGN関数を使用します。 構文 (符号を取得する関数) SIGN(<数値>) 整数の場合は1 ...
ORACLE

[ORACLE] 最近実行されたSQLを確認する

最近実行されたSQLを確認するSQL文のサンプルです。 サンプル 例)最近実行されたSQLを確認する [crayon-5 ...
ORACLE

[SQL*Plus] スクリプトファイルのデフォルト拡張子を設定する(set suffix)

スクリプトファイルのデフォルト拡張子を設定するには、「suffix」システム変数を使用します。 構文 (表示構文) sh ...

スポンサーリンク