![]() |
|
Case-AussagenCase-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 Oktober 2016 | Copyright © 2005, 2016, Oracle. Alle Rechte vorbehalten. Legal Notices. |