Del via


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.

Yderligere ressourcer

Logiske funktioner