![]() |
|
Case-satserCase-satser är byggnadsstenar som används för att skapa villkorsuttryck som kan ge olika resultat för olika kolumnvärden. Case (switch)Det här varianten av en case-sats kallas även CASE (lookup). Värdet för expression1 granskas och därefter granskas WHEN-uttryck. Om expression1 matchar något WHEN-uttryck tilldelas värdet i motsvarande THEN-uttryck. Om expression1 matchar ett uttryck i fler än en WHEN-sats tilldelas endast det uttryck som följer den första matchningen. Om inget av WHEN-uttrycken matchas tilldelas värdet som har angetts i ELSE-uttrycket. Om inget ELSE-uttryck har angetts tilldelas värdet NULL. Se även case (if)-satsen. Syntax: CASE expression1 WHEN expression THEN expression {WHEN expression... THEN expression...} ELSE expression END Där: CASE Startar CASE-satsen. Måste följas av ett uttryck och en eller flera WHEN- och THEN-satser, en valfri ELSE-sats och END-nyckelordet. WHEN Anger det villkor som ska uppfyllas. THEN Anger det värde som ska tilldelas om motsvarande WHEN-uttryck uppfylls. ELSE Anger det värde som ska tilldelas om inget WHEN-villkor uppfylls. Om inget anges antas ELSE NULL. END Avslutar CASE-satsen. Exempel CASE Score-par WHEN -5 THEN 'Birdie på par 6' WHEN -4 THEN 'Måste vara Tiger' WHEN -3 THEN 'Tre under par' WHEN -2 THEN 'Två under par' WHEN -1 THEN 'Birdie' WHEN 0 THEN 'Par' WHEN 1 THEN 'Bogey' WHEN 2 THEN 'Dubbelbogey' ELSE 'Trippelbogey eller sämre' END I ovanstående exempel måste WHEN-satserna återspegla en strikt likhet. WHEN-villkoret WHEN < 0 THEN 'Under par' är otillåtet eftersom jämförelseoperatorer inte är tillåtna. Case (if)Den här varianten av case-sats utvärderar varje WHEN-villkor. Om de uppfylls tilldelas värdet i motsvarande THEN-uttryck. Om inget av WHEN-villkoren uppfylls tilldelas standardvärdet angivet i ELSE-uttrycket. Om inget ELSE-uttryck har angetts tilldelas värdet NULL. Se även case (switch)-satsen. Syntax: CASE WHEN request_condition1 THEN expression1 {WHEN request_condition2 THEN expression2} {WHEN request_condition... THEN expression...} ELSE expression END Där: CASE Startar CASE-satsen. Måste följas av en eller flera WHEN- och THEN-satser, en valfri ELSE-sats och END-nyckelordet. WHEN Anger det villkor som ska uppfyllas. THEN Det värde som ska tilldelas om motsvarande WHEN-uttryck uppfylls. ELSE Anger det värdet om inget WHEN-villkor uppfylls. Om inget anges antas ELSE NULL. END Avslutar CASE-satsen. Exempel CASE WHEN score-par < 0 THEN 'Under par' WHEN score-par = 0 THEN 'Par' WHEN score-par = 1 THEN 'Bogey' WHEN score-par = 2 THEN 'Dubbelbogey' ELSE 'Trippelbogey eller sämre' END Till skillnad från switch-varianten av case-satsen tillåter WHEN-satser i if-varianten jämförelseoperatorer. WHEN-villkoret WHEN < 0 THEN 'Under par' är tillåtet. |
Publicerat i Augusti 2018 | Copyright © 2005, 2018, Oracle. Oracle förbehåller sig samtliga rättigheter. Legal Notices. |