Drucken      PDF-Version der Onlinehilfe öffnen


Vorheriges Thema

Nächstes Thema

Case-Aussagen

Case-Aussagen sind Bausteine zum Anlegen von Bedingungsaussagen, die verschiedene Ergebnisse für verschiedene Spaltenwerte bilden können.

Case (Switch)

Diese Form der Case-Aussage wird auch als CASE (Lookup)-Form bezeichnet. Der Wert von expression1 wird untersucht, und anschließend die WHEN-Aussage. Wenn expression1 einem beliebigen WHEN-Ausdruck entspricht, weist sie den Wert im entsprechenden THEN-Ausdruck zu.

Wenn expression1 einem Ausdruck in mehr als einer WHEN-Bedingung entspricht, wird nur der Ausdruck zugewiesen, der der ersten Übereinstimmung folgt.

Wenn keiner der WHEN-Ausdrücke übereinstimmt, weist sie den im ELSE-Ausdruck festgelegten Wert zu. Wenn kein ELSE-Ausdruck angegeben ist, weist sie den Wert NULL (leer) zu.

Siehe auch die Case (If)-Aussage.

Syntax:

CASE expression1

WHEN expression THEN expression

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

ELSE expression

END

wobei:

CASE

die CASE-Aussage einleitet. Es müssen ein Ausdruck und eine oder mehrere WHEN- und THEN-Aussagen, eine optionale ELSE-Aussage und das Schlüsselwort END folgen.

WHEN

die zu erfüllende Bedingung angibt.

THEN

den Wert angibt, der zugewiesen werden soll, wenn der entsprechende WHEN-Ausdruck erfüllt wird.

ELSE

den Wert angibt, der zugewiesen werden soll, wenn keiner der WHEN-Ausdrücke erfüllt wird. Wenn er weggelassen ist, wird ELSE NULL angenommen.

END

die CASE-Aussage beendet.

Beispiel

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

Im Beispiel oben muss die WHEN-Aussage eine genaue Entsprechung wiedergeben; die WHEN-Bedingung

WHEN < 0 THEN 'Under Par'

ist unzulässig, da Vergleichsoperatoren nicht zugelassen sind.

Case (If)

Diese Form der Case-Aussage bewertet jede WHEN-Aussage; wenn sie erfüllt ist, weist sie den Wert in der entsprechenden THEN-Aussage zu.

Wenn keine der WHEN-Bedingungen erfüllt ist, weist sie den im ELSE-Ausdruck festgelegten Standardwert zu. Wenn kein ELSE-Ausdruck angegeben ist, weist sie den Wert NULL (leer) zu.

Siehe auch die Case (Switch)-Aussage.

Syntax:

CASE

WHEN request_condition1 THEN expression1

{WHEN request_condition2 THEN expression2}

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

ELSE expression

END

wobei:

CASE

die CASE-Aussage einleitet. Es müssen eine oder mehrere WHEN- und THEN-Aussagen, eine optionale ELSE-Aussage und das Schlüsselwort END folgen.

WHEN

die zu erfüllende Bedingung angibt.

THEN

den Wert angibt, der zugewiesen werden soll, wenn der entsprechende WHEN-Ausdruck erfüllt wird.

ELSE

den Wert angibt, wenn keiner der WHEN-Ausdrücke erfüllt wird. Wenn er weggelassen ist, wird ELSE NULL angenommen.

END

die CASE-Aussage beendet.

Beispiel

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

Im Gegensatz zur Switch-Form der CASE-Aussage ermöglichen die WHEN-Aussagen in der If-Form Vergleichsoperatoren; die WHEN-Bedingung

WHEN < 0 THEN 'Under Par'

ist zulässig.


Veröffentlicht September 2017 Copyright © 2005, 2017, Oracle. Alle Rechte vorbehalten. Legal Notices.