![]() |
|
CASE-sætningerCASE-sætninger er byggeblokke til oprettelse af betingede udtryk, der kan frembringe forskellige resultater til forskellige kolonneværdier. CASE (Switch)Denne form af CASE-sætningen kaldes også CASE-(opslags)formen. Værdien af expression1 (udtryk1) undersøges og dernæst WHEN-udtrykket. Hvis expression1 matcher et WHEN-udtryk, tildeles værdien i det tilsvarende THEN-udtryk. Hvis expression1 matcher et udtryk i mere end en WHERE-klausul, tildeles kun udtrykket efter den første match. Hvis ingen af WHEN-udtrykkene matcher, tildeles den værdi, der er angivet i ELSE-udtrykket. Hvis intet ELSE-udtryk er angivet, tildeles værdien NULL. Se også sætningen CASE (If). Syntaks: CASE expression1 WHEN expression THEN expression {WHEN expression... THEN expression...} ELSE udtryk END Hvor: CASE Indleder CASE-sætningen. Skal efterfølges af et udtryk og et eller flere WHEN- og THEN-udtryk, en valgfri ELSE-sætning og END-nøgleordet. WHEN Angiver den betingelse, der skal opfyldes. THEN Angiver den værdi, der skal tildeles, hvis det tilsvarende WHEN-udtryk er opfyldt. ELSE Angiver den værdi, der skal tildeles, hvis ingen af WHEN-betingelser er opfyldt. Hvis udeladt, antages ELSE NULL. END Afslutter CASE-sætningen. Eksempel CASE Score-par WHEN -5 THEN 'Birdie på Par 6' WHEN -4 THEN 'Skal være Tiger' WHEN -3 THEN 'Tre under par' WHEN -2 THEN 'To under par' WHEN -1 THEN 'Birdie' WHEN 0 THEN 'Par' WHEN 1 THEN 'Bogey' WHEN 2 THEN 'Double Bogey' ELSE 'Triple Bogey eller dårligere' END I eksemplet ovenfor skal WHEN-sætningerne afspejle en streng lighed; WHERE-betingelsen WHEN < 0 THEN 'Under par' er ugyldig, da sammenligningsoperatorer ikke er tilladt. Case (If)Denne form af CASE-sætningen evaluerer hver WHEN-betingelse, og hvis opfyldt, tildeles værdien i det tilsvarende THEN-udtryk. Hvis ingen af WHEN-betingelserne er opfyldt, tildeles standardværdien, der er angivet i ELSE-udtrykket. Hvis intet ELSE-udtryk er angivet, tildeles værdien NULL. Se også CASE (Switch)-sætningen. Syntaks: CASE WHEN request_condition1 THEN udtryk1 {WHEN request_condition2 THEN expression2} {WHEN request_condition... THEN expression...} ELSE expression END Hvor: CASE Indleder CASE-sætningen. Skal efterfølges af et eller flere WHEN- og THEN-udtryk, en valgfri ELSE-sætning og END-nøgleordet. WHEN Angiver den betingelse, der skal opfyldes. THEN Den værdi, der skal tildeles, hvis det tilsvarende WHEN-udtryk er opfyldt. ELSE Angiver værdien, hvis ingen af WHEN-betingelserne er opfyldt. Hvis udeladt, antages ELSE NULL. END Afslutter CASE-sætningen. Eksempel 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 eller dårligere' END I modsætning til Switch-formen af CASE-sætningen, tillader WHEN-sætningerne i If-formen sammenligningsoperatorer; WHEN-betingelsen WHEN < 0 THEN 'Under par' er gyldig. |
Publiceret September 2017 | Copyright © 2005, 2017, Oracle. Alle rettigheder forbeholdes. Legal Notices |