Afdrukken      PDF-versie openen van online-help


Vorig onderwerp

Volgend onderwerp

Case-instructies

Case-instructies zijn bouwstenen waarmee voorwaardelijke expressies worden gemaakt die verschillende resultaten kunnen produceren voor verschillende kolomwaarden.

Case (Schakelen)

Deze vorm van een Case-instructie wordt ook de vorm CASE (Opzoeken) genoemd. De waarde van expression1 wordt onderzocht en vervolgens die van WHEN-expressies. Als expression1 overeenkomt met een WHEN-expressie, wordt de waarde toegewezen in de overeenkomende THEN-expressie.

Als expression1 overeenkomt met een expressie in meer dan een WHEN-clausule, wordt alleen de expressie toegewezen die volgt na de eerste overeenkomst.

Als geen enkele WHEN-expressie overeenkomt, wordt de waarde toegewezen die is opgegeven in de ELSE-expressie. Als geen ELSE-expressie is opgegeven, wordt de waarde NULL toegewezen.

Zie ook de Case (Als)-instructie.

Syntaxis:

CASE expression1

WHEN expressie THEN expressie

{WHEN expressie... THEN expressie...}

ELSE expressie

END

Waarbij:

CASE

Hiermee wordt de CASE-instructie gestart. Moet worden gevolgd door een expressie en een of meer WHEN- en THEN-instructies, een optionele ELSE-instructie en het sleutelwoord END.

WHEN

Hiermee wordt de voorwaarde opgegeven waaraan moet worden voldaan.

THEN

Hiermee wordt de waarde opgegeven die wordt toegewezen als aan de bijbehorende WHEN-expressie is voldaan.

ELSE

Hiermee wordt de waarde opgegeven die wordt toegewezen als aan geen van de WHEN-voorwaarden is voldaan. Als u niets opgeeft, wordt voor ELSE de waarde NULL aangenomen.

END

Hiermee wordt de CASE-instructie beëindigd.

Voorbeeld

CASE Score-par

WHEN -5 THEN 'Birdie bij par 6'

WHEN -4 THEN 'Moet Tiger zijn'

WHEN -3 THEN 'Drie onder par'

WHEN -2 THEN 'Twee onder par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Dubbele bogey'

ELSE 'Drievoudige bogey of slechter'

END

In het bovenstaande voorbeeld moeten de WHEN-instructies strikt gelijk zijn; de WHEN-voorwaarde

WHEN < 0 THEN 'Onder par'

is ongeldig omdat vergelijkingsoperatoren niet zijn toegestaan.

Case (Als)

Deze vorm van de Case-instructie evalueert elke WHEN-voorwaarde. Wanneer hieraan wordt voldaan, wordt de waarde in de bijbehorende THEN-expressie toegewezen.

Als aan geen enkele WHEN-voorwaarde wordt voldaan, wordt de standaardwaarde toegewezen die is opgegeven in de ELSE-expressie. Als geen ELSE-expressie is opgegeven, wordt de waarde NULL toegewezen.

Zie ook de Case (Schakelen)-instructie.

Syntaxis:

CASE

WHEN request_condition1 THEN expression1

{WHEN request_condition2 THEN expression2}

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

ELSE expression

END

Waarbij:

CASE

Hiermee wordt de CASE-instructie gestart. Moet worden gevolgd door een of meer WHEN- en THEN-instructies, een optionele ELSE-instructie en het sleutelwoord END.

WHEN

Hiermee wordt de voorwaarde opgegeven waaraan moet worden voldaan.

THEN

De waarde die wordt toegewezen als aan de bijbehorende WHEN-expressie is voldaan.

ELSE

Hiermee wordt de waarde opgegeven als aan geen van de WHEN-voorwaarden is voldaan. Als u niets opgeeft, wordt voor ELSE de waarde NULL aangenomen.

END

Hiermee wordt de CASE-instructie beëindigd.

Voorbeeld

CASE

WHEN score-par < 0 THEN 'Onder par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogey'

WHEN score-par = 2 THEN 'Dubbele bogey'

ELSE 'Drievoudige bogey of slechter'

END

In tegenstelling tot de Schakelen-vorm van de CASE-instructie, zijn voor WHEN-instructies in de Als-vorm vergelijkingsoperatoren toegestaan; de WHEN-voorwaarde

WHEN < 0 THEN 'Onder par'

is geldig.


Gepubliceerd op september 2017 Copyright © 2005, 2017, Oracle. Alle rechten voorbehouden. Legal Notices.