CASE (SQL Server Compact)
Wertet eine Liste von Bedingungen aus und gibt einen von mehreren möglichen Ergebnisausdrücken zurück.
CASE weist zwei Formate auf:
Die einfache CASE-Funktion vergleicht einen Ausdruck mit mehreren einfachen Ausdrücken, um das Ergebnis zu bestimmen.
Die komplexe CASE-Funktion wertet eine Reihe boolescher Ausdrücke aus, um das Ergebnis zu bestimmen.
Bei beiden Formaten wird ein optionales ELSE-Argument unterstützt.
Syntax
CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
Argumente
input_expression
Der Ausdruck, der ausgewertet wird, wenn das einfache CASE-Format verwendet wird. Als input_expression-Argument kann jeder gültige Ausdruck in Microsoft SQL Server Compact verwendet werden.WHEN when_expression
Ein einfacher Ausdruck, mit dem input_expression verglichen wird, wenn das einfache CASE-Format verwendet wird. Als when_expression-Argument kann jeder gültige SQL Server-Ausdruck verwendet werden. Die Datentypen des input_expression-Arguments und jedes when_expression-Arguments müssen identisch sein oder implizit konvertiert werden können.n
Ein Platzhalter, der anzeigt, dass mehrere WHEN when_expression THEN result_expression-Klauseln oder mehrere WHEN Boolean_expression THEN result_expression-Klauseln verwendet werden können.THEN result_expression
Der Ausdruck, der zurückgegeben wird, wenn der Vergleich von input_expression mit when_expression den Wert TRUE ergibt oder wenn Boolean_expression den Wert TRUE ergibt. Als result_expression-Argument kann jeder gültige SQL Server-Ausdruck verwendet werden.ELSE else_result_expression
Der Ausdruck, der zurückgegeben wird, wenn keine Vergleichsoperation TRUE ergibt. Ist dieses Argument nicht angegeben und ergibt keine Vergleichsoperation TRUE, gibt die CASE-Funktion NULL zurück. Als else_result_expression-Argument kann jeder gültige SQL Server-Ausdruck verwendet werden. Die Datentypen des else_result_expression-Arguments und jedes result_expression-Arguments müssen identisch sein oder implizit konvertiert werden können.WHEN Boolean_expression
Der boolesche Ausdruck, der ausgewertet wird, wenn das komplexe CASE-Format verwendet wird. Boolean_expression kann jeder gültige boolesche Ausdruck sein.
Ergebnistypen
Gibt aus der Gruppe der Typen, die in den result_expression-Argumenten sowie im optionalen else_result_expression-Argument verwendet werden, den höchstrangigen Typ zurück..
Beispiel
Im folgenden Beispiel wird die Versandart für eingegangene Bestellungen zurückgegeben.
SELECT [Ship Via], CASE [Ship Via]
WHEN 1 THEN 'A.Datum'
WHEN 2 THEN 'Contoso'
WHEN 3 THEN 'Consolidated Messenger'
ELSE 'Unknown'
END
FROM Orders