ER-funktionen CASE
Funktionen CASE
evaluerer værdien af det angivne udtryk i forhold til de angivne alternative indstillinger og returnerer resultatet af den første indstilling, der er lig med værdien af det angivne udtryk. Ellers returneres det valgfrie standardresultat, hvis der er angivet et standardresultat som det sidste argument i den kaldte funktion, hvor der ikke er foretaget en forudgående indstilling. Den returnerede værdi kan være en værdi for en hvilken som helst af de understøttede datatyper.
Syntaks
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
Argumenter
expression
: Primitiv datatype (Boolesk, numerisk eller tekst)
Et gyldigt udtryk, der returnerer en værdi af den primitive datatype.
option 1
: Primitiv datatype (Boolesk, numerisk eller tekst)
Et gyldigt udtryk, der returnerer en værdi af samme primitive datatype som argumentet expression
for den kaldte funktion. Dette argument skal udfyldes.
result 1
: Alle understøttede datatyper
Det returnerede resultat, der svarer til den foregående indstilling. Dette argument skal udfyldes.
option N
: Primitiv datatype (Boolesk, numerisk eller tekst)
Et gyldigt udtryk, der returnerer en værdi af samme primitive datatype som argumentet expression
for den kaldte funktion. Dette argument er valgfrit.
result N
: Alle understøttede datatyper
Det returnerede resultat, der svarer til den foregående indstilling. Dette argument er valgfrit.
default result
: Alle understøttede datatyper
Det resultat, der skal returneres, hvis der ikke er noget match. Dette argument er valgfrit.
Returnerede værdier
Alle understøttede datatyper
Den resulterende værdi af en af de understøttede datatyper.
Bemærkninger til brug
Der bliver udløst en undtagelse på kørselstidspunktet, hvis det ikke er et match, og et valgfrit standardresultat ikke er defineret.
Alle resultater skal angives ved hjælp af den samme datatype. Der udløses en undtagelse på designtidspunktet, hvis datatyperne for de konfigurerede resultater ikke matcher.
Hvis den første resultatværdi og den N'te resultatværdi er værdier af datatypen Container (post) eller Postliste, indeholder resultatet kun de felter, der findes i begge værdier.
Eksempel
CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")
returnerer strengen "VINTER", hvis den aktuelle dato for programsessionen er mellem oktober og december. Ellers returneres en tom streng.