Freigeben über


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
    Der Ausdruck, der zurückgegeben wird, wenn Boolean_expression dem Wert true entspricht. 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 kann jeder gültige Ausdruck sein. 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 komplexe CASE-Format verwendet wird. Boolean_expression kann jeder gültige Boolean-Ausdruck sein.

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. Die Abfrage basiert auf dem "AdventureWorks Sales"-Modell. Führen Sie folgende Schritte aus, um diese Abfrage zu kompilieren und auszuführen:

  1. Verwenden Sie das Verfahren unter Gewusst wie: Ausführen einer Abfrage, die PrimitiveType-Ergebnisse zurückgibt (EntityClient).

  2. Übergeben Sie die folgende Abfrage als Argument an die ExecutePrimitiveTypeQuery-Methode:

CASE WHEN AVG({25,12,11}) < 100 THEN TRUE ELSE FALSE END

Die Ausgabe wird im Folgenden dargestellt:

Value: True

Siehe auch

Verweis

ELSE (Entity SQL)
WHEN (Entity SQL)
THEN (Entity SQL)
SELECT (Entity SQL)

Konzepte

Entity SQL-Referenz