Dela via


CASE ER-funktion

CASE-funktionen utvärderar värdet för det angivna uttrycket mot de angivna alternativa och returnerar resultatet av det första alternativet som är lika med värdet för det angivna uttrycket. Annars returneras ett valfritt standard resultat om ett standard resultat anges som det sista argumentet för den anropade funktionen som inte föregås av ett alternativ. Värdet som returneras kan vara ett värde för någon av datatyperna som stöds.

Syntax

CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])

Argument

expression: Primitiv datatyp (booleskt, numeriskt eller text)

Ett giltigt uttryck som returnerar ett värde av den primitiva datatypen.

option 1: Primitiv datatyp (booleskt, numeriskt eller text)

Ett giltigt uttryck som returnerar ett värde av samma primitiva datatyp som expression-argumentet för den anropade funktionen. Detta argument krävs.

result 1: Någon av de datatyper som stöds

Det returnerade resultatet som motsvarar det föregående alternativet. Detta argument krävs.

option N: Primitiv datatyp (booleskt, numeriskt eller text)

Ett giltigt uttryck som returnerar ett värde av samma primitiva datatyp som expression-argumentet för den anropade funktionen. Detta argument är valfritt.

result N: Någon av de datatyper som stöds

Det returnerade resultatet som motsvarar det föregående alternativet. Detta argument är valfritt.

default result: Någon av de datatyper som stöds

Resultatet som ska returneras om det inte finns någon matchning. Detta argument är valfritt.

Returvärden

Någon av de datatyper som stöds

Resultatvärdet för någon av datatyperna som stöds.

Användningsanteckningar

Ett undantagsfel utlöses vid körning om det inte finns någon matchning och ett valfritt standard resultat inte har definierats.

Alla resultat måste anges med samma datatyp. Ett undantag genereras vid designtillfället om datatyperna för de konfigurerade resultaten inte matchar.

Om det första resultatvärdet och Nth resultatvärdet är värden för datatypen behållare (post) eller postlista har resultatet bara de fält som finns i båda värdena.

Exempel

CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "") returnerar strängen "WINTER" om det aktuella programsessionsdatumet är mellan oktober och december. Annars returneras en tom sträng.

Ytterligare resurser

Logiska funktioner