CASE (SQL Server Compact)
評估條件清單,然後傳回多個可能的結果運算式之一。
CASE 有兩種格式:
簡單的 CASE 功能會將運算式與一組簡單的運算式比對,以判斷其結果。
搜尋的 CASE 函數會評估一組布林運算式來判斷其結果。
兩種格式都支援選擇性 ELSE 引數。
語法
CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
引數
input_expression
使用簡單 CASE 格式時所評估的運算式。此 input_expression 引數是 Microsoft SQL Server Compact 中任何有效的運算式。WHEN when_expression
使用簡單 CASE 格式時,input_expression 所比對的簡單運算式。此 when_expression 引數是任何有效的 SQL Server 運算式。input_expression 的資料類型及各個 when_expression 必須相同,或者必須為隱含轉換。n
一個預留位置,指出可以使用多個 WHEN when_expression THEN result_expression 子句,也可以使用多個 Boolean_expression THEN result_expression 子句。THEN result_expression
當 input_expression 等於 when_expression 評估為 TRUE 或者 Boolean_expression 評估為 TRUE 時所傳回的運算式。此 result expression 引數是任何有效的 SQL Server 運算式。ELSE else_result_expression
如果沒有任何比較運算評估為 TRUE 時所傳回的運算式。如果省略此引數,並且沒有任何比較運算評估為 TRUE,則 CASE 就會傳回 NULL。此 else_result_expression 引數是任何有效的 SQL Server 運算式。else_result_expression 的資料類型及任何 result_expression 必須相同,或者必須為隱含轉換。WHEN Boolean_expression
使用搜尋的 CASE 格式時所評估的布林運算式。Boolean_expression 是任何有效的布林運算式。
結果類型
從 result_expressions 及選擇性使用的 else_result_expression 型別集傳回最高優先順序的型別。
範例
以下範例會傳回下訂單時所用的貨運方式。
SELECT [Ship Via], CASE [Ship Via]
WHEN 1 THEN 'A.Datum'
WHEN 2 THEN 'Contoso'
WHEN 3 THEN 'Consolidated Messenger'
ELSE 'Unknown'
END
FROM Orders