評估一組 Boolean 表達式來判斷結果。
語法
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
論點
n 這是一個佔位元元,表示可以使用多個 WHEN Boolean_expression THEN result_expression 子句。
THEN result_expression 是評估為 true時Boolean_expression所傳回的表達式。
result expression 是任何有效的表達式。
ELSE else_result_expression 如果沒有任何比較作業評估為 true,則會傳回表達式。 如果省略這個自變數,而且沒有比較作業評估為 true,CASE 會傳回 null。
else_result_expression 是任何有效的表達式。 和的result_expression數據類型else_result_expression必須相同,或者必須是隱含轉換。
WHEN Boolean_expression 這是 Boolean 使用搜尋的 CASE 格式時評估的表達式。
Boolean_expression 是任何有效的 Boolean 表達式。
傳回值
從中的 result_expression 型別集合傳回最高優先順序類型,以及選擇性 else_result_expression的 。
備註
Entity SQL 案例表達式類似於 Transact-SQL 案例表達式。 您可以使用案例表達式進行一系列的條件測試,以判斷哪一個運算式會產生適當的結果。 此形式的案例表達式會套用至一或多個 Boolean 表達式的數列,以判斷正確的結果表達式。
CASE 函式會根據指定的順序評估Boolean_expression每個 WHEN 子句,並傳回result_expression評估為 true的第一個Boolean_expression子句。 不會評估其餘表達式。
Boolean_expression如果沒有評估為 true,則 Database Engine 會傳回 如果指定 ELSE 子句,則傳回 ,如果沒有指定 ELSE 子句,則傳回 else_result_expression Null 值。
CASE 語句無法傳回 multiset。
範例
下列 Entity SQL 查詢會使用 CASE 運算式來評估一組 Boolean 運算式,以判斷結果。 查詢是以 AdventureWorks 銷售模型為基礎。 若要編譯並執行此查詢,請遵循下列步驟:
遵循 如何:執行傳回 PrimitiveType 結果的查詢中的程式。
將下列查詢當做自變數傳遞至
ExecutePrimitiveTypeQuery方法:
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END