CASE (Entity SQL)
Wertet eine Reihe von Boolean-Ausdrücken aus, um das Ergebnis zu bestimmen.
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
Argumente
- 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
Ist der zurückgegebene Ausdruck, wenn Boolean_expression den Wert true ergibt. result expression ist ein beliebiger gültiger Ausdruck.
- ELSE else_result_expression
Der Ausdruck, der zurückgegeben wird, wenn keine Vergleichsoperation true ergibt. Wenn dieses Argument nicht angegeben wird und keine Vergleichsoperation true ergibt, gibt die CASE-Funktion null zurück. else_result_expression ist ein beliebiger gültiger Ausdruck. Die Datentypen von else_result_expression und allen result_expression-Ausdrücken müssen gleich sein, oder es muss eine implizite Konvertierung vorliegen.
- WHEN Boolean_expression
Der Boolean-Ausdruck, der ausgewertet wird, wenn das gesuchte CASE-Format verwendet wird. Boolean_expression ist ein beliebiger gültiger Boolean-Ausdruck.
Rückgabewert
Gibt den Typ mit der höchsten Priorität in result_expression und im optionalen else_result_expression zurück.
Hinweise
Der CASE-Ausdruck von Entity SQL ähnelt dem von Transact-SQL . Mit dem CASE-Ausdruck wird eine Reihe von Bedingungen geprüft, um zu ermitteln, welcher Ausdruck das passende Ergebnis ergibt. Diese Form des CASE-Ausdrucks ist für einen oder eine Reihe von Boolean-Ausdrücken geeignet, um den korrekten Ergebnisausdruck zu ermitteln.
Die CASE-Funktion wertet Boolean_expression für jede WHEN-Klausel in der angegebenen Reihenfolge aus und gibt result_expression des ersten Boolean_expression zurück, der true ergibt. Ergibt kein Boolean_expression den Wert true, gibt das Datenbankmodul den else_result_expression-Ausdruck zurück, sofern eine ELSE-Klausel angegeben wurde, oder einen NULL-Wert, wenn keine ELSE-Klausel angegeben wurde.
Eine CASE-Anweisung kann keinen multiset-Wert zurückgeben.
Beispiel
In der folgenden Entity SQL-Abfrage wird der CASE-Ausdruck zur Auswertung einer Reihe von Boolean-Ausdrücken verwendet, um das Ergebnis zu bestimmen. Diese Abfrage beruht auf dem "AdventureWorks Sales"-Modell. Führen Sie folgende Schritte durch, um diese Abfrage zu kompilieren und auszuführen:
Verwenden Sie das Verfahren unter Gewusst wie: Ausführen einer Abfrage, die PrimitiveType-Ergebnisse zurückgibt (EntityClient).
Übergeben Sie die folgende Abfrage als Argument an die
ExecutePrimitiveTypeQuery
-Methode:
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END
Siehe auch
Verweis
ELSE (Entity SQL)
WHEN (Entity SQL)
THEN (Entity SQL)
SELECT (Entity SQL)