Skriv ut      Öppna PDF-version av onlinehjälpen


Föregående ämne

Nästa ämne

Case-satser

Case-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.