Freigeben über


CASE (Entity SQL)

Wertet eine Reihe von Boolean -Ausdrücken aus, um das Ergebnis zu bestimmen.

Syntax

CASE
     WHEN Boolean_expression THEN result_expression
    [ ...n ]
     [
    ELSE else_result_expression
     ]
END

Argumente

n ist ein Platzhalter, der angibt, dass mehrere WHEN Boolean_expression THEN result_expression-Klauseln verwendet werden können.

THEN result_expression ist der zurückgegebene Ausdruck, wenn Boolean_expression als trueausgewertet wird. result expression ist ein beliebiger gültiger Ausdruck.

ELSE else_result_expression ist der Ausdruck, der zurückgegeben wird, wenn keine Vergleichsoperation als true ausgewertet wird. Wenn dieses Argument nicht angegeben wird und keine Vergleichsoperation trueergibt, 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 ist 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_expressionzurück.

Bemerkungen

Der CASE-Ausdruck von Entity SQL ähnelt dem CASE-Ausdruck 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 trueergibt. Die übrigen Ausdrücke werden nicht ausgewertet. Ergibt kein Boolean_expression den Wert true, gibt die Datenbank-Engine 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 eines Satzes von Boolean -Ausdrücken verwendet, um das Ergebnis zu bestimmen. Diese Abfrage beruht auf dem "AdventureWorks Sales"-Modell. Führen Sie folgende Schritte aus, um diese Abfrage zu kompilieren und auszuführen:

  1. Verwenden Sie die Vorgehensweise unter Ausführen einer Abfrage, die PrimitiveType-Ergebnisse zurückgibt.

  2. Ü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