WHEN NULLと書いてしまうパターン。 この場合、例外にならない(Oracle側でストップがかからない)のでバグになる可能性大で危険。 必ず『NULLじゃないよ』の結果になってしまう誤ったSQL SELECTCASESUBSTR(NULL,1,1)WHENNULLTHEN'NULLだよ'ELSE'NULLじゃないよ'ENDAStestFROMテーブル名 NULL判定し...
条件が false の場合、後続の WHEN 句はすべて評価されます。WHEN 条件の結果がどれも true ではない場合、CASE 式の値が ELSE 句の結果になります。ELSE 句が省略され、どの条件も true ではない場合、結果は Null となります。 例 簡易CASE 式を使用し、VENUE テーブルに対するクエリでNew ...
WHEN 条件が上から順に評価されるという前提に依存できるのは、スカラー式 (スカラー値を返す非相関サブクエリを含む) の場合だけであり、集計式の場合は依存できません。 また、THEN または ELSE 句の式の少なくとも 1 つが NULL 定数ではないことも確認する必要があります。 複数の結果式か...
WHEN で指定した条件がすべて真ではなく、なおかつ ELSE 節が指定されていない場合、実行時にエラーが出され、CASE ステートメントの実行が終了します (SQLSTATE 20000)。 使用する CASE ステートメントでは、考えられるあらゆる実行条件を全て網羅するようにしてください。 例 SQL 変数 v_...
CASE ステートメントは、複数の条件に基づいて実行パスを選択します。 CASE ステートメントは、CASE 式と同じように動作します。 構文 label:CASEsimple-when-clausesearched-when-clauseelse-clauseEND CASE simple-when-clause: 式WHENexpressionTHENSQL-procedure-statement; ...
次の例では、Reseller Order Count メジャーは、複数の WHEN 句ごとに指定されたBoolean_expressionに対して評価されます。 年ごとの Reseller Order Count メジャーの値に基づいて、結果が返されます。 WHEN 句は表示される順序で評価されるため、6 より大きい値はすべて、各値を明示的に指定しなく...
複数の選択肢から1つ選択するために値が使用される式。 式の値は、BLOB、BFILE、オブジェクト型、PL/SQLレコード、索引付き表、VARRAYまたはネストした表以外であれば、どのようなPL/SQL型でもかまいません。 WHEN {when_operand|boolean_expression} THENstatement ...
探索CASEの探索条件には副問合せは指定できません。 CASE指定の結果式すべてに動的パラメタ指定を指定することはできません。 単純CASEのCASEオペランド、複数のWHENオペランドすべてに動的パラメタ指定を指定することはできません。 動的パラメタ指定が指定された場合のDESCRIBE情報は、以下のとおり...
値が1回評価され、複数の選択肢から1つ選択するためにその値が使用される式。selectorの値は、BLOB、BFILEまたはユーザー定義型を除く任意のPL/SQL型になります。 WHEN { selector_value | dangling_predicate } [ , ..., { selector_value | dangling_predicate } ] THEN statement selector_va...
MDX は、WHEN 句を CASE ステートメント内に出現する順序で評価します。 次の例では、複数の WHEN 句にそれぞれ指定された Boolean_expression に対して Reseller Order Count メジャーを評価しています。年ごとの Reseller Order Count メジャーの値に基づいて、結果が返されます。個々の WHEN 句...