Udskriv      Åbn PDF-version af online-hjælp


Forrige emne

Næste emne

CASE-sætninger

CASE-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 expression

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 August 2018 Copyright © 2005, 2018, Oracle. Alle rettigheder forbeholdes. Legal Notices