Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vyhodnotí sadu Boolean výrazů k určení výsledku.
Syntaxe
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
Argumenty
n Je zástupný symbol, který označuje, že lze použít více klauzulí WHEN Boolean_expression THEN result_expression .
PAK result_expression je výraz vrácen při Boolean_expression vyhodnocení na true.
result expression je libovolný platný výraz.
ELSE else_result_expression Je výraz vrácen, pokud se nevyhodnotí truežádná operace porovnání . Pokud tento argument vynecháte a nevyhodnotí se truežádná operace porovnání, vrátí funkce CASE hodnotu null.
else_result_expression je libovolný platný výraz. Datové typy else_result_expression a všechny result_expression musí být stejné nebo musí být implicitní převod.
KDYŽ Boolean_expression je Boolean výraz vyhodnocen při použití prohledávaného formátu CASE.
Boolean_expression je libovolný platný Boolean výraz.
Návratová hodnota
Vrátí typ nejvyšší priority ze sady typů v sadě result_expression typů v a volitelné else_result_expression.
Poznámky
Výraz případu Entity SQL se podobá výrazu Transact-SQL case. Pomocí výrazu case vytvoříte řadu podmíněných testů, abyste zjistili, který výraz vrátí odpovídající výsledek. Tato forma výrazu case se vztahuje na řadu jednoho nebo více Boolean výrazů k určení správného výsledného výrazu.
Funkce CASE vyhodnocuje Boolean_expression pro každou klauzuli WHEN v zadaném pořadí a vrátí první result_expressionBoolean_expression klauzuli, která se vyhodnotí jako true. Zbývající výrazy se nevyhodnocují. Pokud se hodnota nehodnotí Boolean_expressiontrue, databázový stroj vrátí else_result_expression hodnotu, pokud je zadaná klauzule ELSE, nebo hodnotu null, pokud není zadána žádná klauzule ELSE.
Příkaz CASE nemůže vrátit vícemnožinu.
Příklad
Následující dotaz Entity SQL používá výraz CASE k vyhodnocení sady Boolean výrazů k určení výsledku. Dotaz je založený na prodejním modelu AdventureWorks. Chcete-li tento dotaz zkompilovat a spustit, postupujte takto:
Postupujte podle pokynů v části Postupy: Provedení dotazu, který vrací výsledky PrimitiveType.
Jako argument metody
ExecutePrimitiveTypeQuerypředejte následující dotaz:
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END