印刷      PDFバージョンのオンラインヘルプを開く


前のトピック

次のトピック

Case ステートメント

Case ステートメントは、カラム値ごとに異なる結果を生成する条件式を作成するための構築ブロックです。

Case (Switch )

Case ステートメントのこの形式は、CASE (Lookup )形式とも呼ばれます。expression1 の値を調べ、次にWHEN 式を調べます。expression1 と任意のWHEN 式が一致する場合は、対応するTHEN 式の値を割り当てます。

expression1 が複数のWHEN 句の式に一致する場合、最初に一致したWHEN 句に続く式だけが割り当てられます。

どのWHEN式も一致しない場合は、ELSE式で指定された値を割り当てます。ELSE式が指定されない場合は、NULL値が割り当てられます。

Case (If) ステートメントも参照してください。

構文:

CASE expression1

WHEN expression THEN expression

{WHEN expression... THEN expression...}

ELSE expression

END

説明:

CASE

CASE ステートメントを開始します。1 つの式、1 つ以上のWHEN およびTHEN ステートメント、オプションのELSE ステートメント、およびEND キーワードが続く必要があります。

WHEN

満たす条件を指定します。

THEN

対応するWHEN式が満たされる場合に割り当てる値を指定します。

ELSE

どのWHEN条件も満たされない場合に割り当てる値を指定します。指定しない場合は、ELSE NULLと見なされます。

END

CASEステートメントを終了します。

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

前述の例では、WHENステートメントは厳密に等しくならなければなりません。この例を示します。

WHEN < 0 THEN 'Under Par'

このWHEN条件は、比較演算子が許可されていないため無効です。

Case (If)

Case ステートメントのこの形式は各WHEN 条件を評価し、条件が満たされる場合は、対応するTHEN 式の値を割り当てます。

どのWHEN条件も満たされない場合は、ELSE式で指定されたデフォルトの値を割り当てます。ELSE式が指定されない場合は、NULL値が割り当てられます。

Case (Switch) ステートメントも参照してください。

構文:

CASE

WHEN request_condition1 THEN expression1

{WHEN request_condition2 THEN expression2}

{WHEN request_condition... THEN expression...}

ELSE expression

END

説明:

CASE

CASEステートメントを開始します。1つ以上のWHENおよびTHENステートメント、オプションのELSEステートメント、およびENDキーワードが続く必要があります。

WHEN

満たす条件を指定します。

THEN

対応するWHEN式が満たされる場合に割り当てる値を指定します。

ELSE

どのWHEN条件も満たされない場合の値を指定します。指定しない場合は、ELSE NULLとみなされます。

END

CASEステートメントを終了します。

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogie'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

CASEステートメントのSwitch形式とは異なり、If形式のWHENステートメントは比較演算子を許可します。この例を示します。

WHEN < 0 THEN 'Under Par'

このWHEN条件は有効です。


公開日 2016 年 10 月 Copyright © 2005, 2016, Oracle. All rights reserved. Legal Notices.