![]() |
|
Case-instructiesCase-instructies zijn bouwstenen waarmee conditionele expressies worden gemaakt die verschillende resultaten kunnen produceren voor verschillende kolomwaarden. Case (Switch)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 expression 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 conditie 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-condities 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-conditie WHEN < 0 THEN 'Onder par' is ongeldig omdat vergelijkingsoperatoren niet zijn toegestaan. Case (If)Deze vorm van de Case-instructie evalueert elke WHEN-conditie. Wanneer hieraan wordt voldaan, wordt de waarde in de bijbehorende THEN-expressie toegewezen. Als aan geen enkele WHEN-conditie 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 conditie 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-condities 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-conditie WHEN < 0 THEN 'Onder par' is legal. |
Gepubliceerd op augustus 2018 | Copyright © 2005, 2018, Oracle. Alle rechten voorbehouden. Legal Notices. |