共用方式為


CASE (Entity SQL)

評估一組 Boolean 表達式來判斷結果。

語法

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

論點

n 這是一個佔位元元,表示可以使用多個 WHEN Boolean_expression THEN result_expression 子句。

THEN result_expression 是評估為 trueBoolean_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 銷售模型為基礎。 若要編譯並執行此查詢,請遵循下列步驟:

  1. 遵循 如何:執行傳回 PrimitiveType 結果的查詢中的程式。

  2. 將下列查詢當做自變數傳遞至 ExecutePrimitiveTypeQuery 方法:

CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END

另請參閱