Skriv ut      Öppna PDF-version av onlinehjälpen


Föregående ämne

Nästa ämne

Case-satser

Case-satser utgör byggstenar för att konstruera villkorsuttryck som kan ge olika resultat för olika kolumnvärden.

Case (Switch)

Den här typen av Case-satser kallas även CASE (Lookup). Värdet för uttryck 1 undersöks först, sedan WHEN-uttrycken. Om uttryck1 matchar något av WHEN-uttrycken tilldelas den värdet för motsvarande THEN-uttryck.

Om uttryck1 matchar ett uttryck i fler än en WHEN-sats tilldelas endast det uttryck som följer på den första träffen.

Om inget av WHEN-uttrycken matchar tilldelas det värde som anges i ELSE-uttrycket. Om inget ELSE-uttryck har angetts tilldelas värdet NULL.

Se även satsen Case (If).

Syntax:

CASE-uttryck1

WHEN-uttryck THEN-uttryck

{WHEN-uttryck... THEN-uttryck...}

ELSE-uttryck

END

Där:

CASE

inleder CASE-uttrycket. Detta måste följas av ett uttryck och en eller fler WHEN- och THEN-uttryck, ett valfritt ELSE-uttryck och END-nyckelordet.

WHEN

Anger villkoret som ska uppfyllas.

THEN

Anger värdet som ska tilldelas om det motsvarande WHEN-uttrycket uppfylls.

ELSE

Anger värdet som ska tilldelas om inget av WHEN-villkoren uppfylls. Om detta utelämnas används ELSE NULL.

END

Avslutar CASE-satser.

Exempel

CASE Poängpar

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 'Dubbel bogey'

ELSE 'Trippel-bogey eller Worse'

END

I exemplet ovan måste WHEN-satserna spegla en strikt likvärdighet, ett WHEN-villkor för

WHEN < 0 THEN 'Under par'

är inte giltig eftersom jämförelseoperatorer inte tillåts.

Case (If)

Den här formen av case-satser utvärderar ett WHEN-villkor och om det uppfylls tilldelas värdet i motsvarande THEN-uttryck.

Om inget av WHEN-villkoren uppfylls tilldelas det standardvärde som anges i ELSE-uttrycket. Om inget ELSE-uttryck har angetts tilldelas värdet NULL.

Se även satsen Case (Switch).

Syntax:

CASE

WHEN frågevillkor1 THEN uttryck1

{WHEN frågevillkor1 THEN uttryck2}

{WHEN frågevillkor... THEN uttryck...}

ELSE-uttryck

END

Där:

CASE

inleder CASE-uttrycket. Detta måste följas av ett eller flera WHEN- och THEN-uttryck, ett valfritt ELSE-uttryck och END-nyckelordet.

WHEN

Anger villkoret som ska uppfyllas.

THEN

Värdet som ska tilldelas om motsvarande WHEN-uttryck uppfylls.

ELSE

Anger värdet om inget av WHEN-villkoren uppfylls. Om detta utelämnas används ELSE NULL.

END

Avslutar CASE-satser.

Exempel

CASE

WHEN poäng < 0 THEN 'Under par'

WHEN poängpar = 0 THEN 'Par'

WHEN poängpar = 1 THEN 'Bogie'

WHEN poängpar = 2 THEN 'Dubbel bogey'

ELSE 'Trippel-bogey eller Worse'

END

Till skillnad från Switch-formen av CASE-satsen tillåter WHEN-uttryck i If-formen jämförelseoperatorer, ett WHEN-villkor för

WHEN < 0 THEN 'Under par'

är giltigt.


Publicerat i September 2017 Copyright © 2005, 2017, Oracle. Oracle förbehåller sig samtliga rättigheter. Legal Notices.