✅ Azure 串流分析 ✅ 網狀架構事件串流
評估條件清單,並傳回多個可能的結果表達式之一。
CASE 運算式有兩種格式:
簡單的 CASE 運算式會將表達式與一組簡單的運算式進行比較,以判斷結果。
搜尋的 CASE 運算式會評估一組布爾表示式來判斷結果。
這兩種格式都需要 ELSE 自變數。
CASE 可用於任何允許有效表達式的語句或子句中。 例如,您可以在 SELECT 和 WHERE 和 HAVING 等子句等運算式中使用 CASE。
語法
簡單 CASE 運算式:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
搜尋的 CASE 運算式:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
論點
input_expression
這是使用簡單 CASE 格式時評估的表達式。 評估的值會與 when_expression進行比較。
WHEN when_expression
這是使用簡單 CASE 格式時, input_expression 比較的表達式。 when_expressions的類型不一定必須相符。
WHEN boolean_expression
這是使用搜尋的 CASE 格式時評估的布爾運算式。 如果此表達式評估為 true,則會傳回對應的 result_expression 。
然後result_expression
這是 當input_expression 等於 when_expression (簡單 CASE 格式) 或 boolean_expression 評估為 true 時 (以搜尋的 CASE 格式) 時傳回的表達式。
ELSE else_result_expression
如果沒有任何條件評估為TRUE,則會傳回表達式。
傳回類型
這是 result_expression和 else_result_expression中類型集合中最高的優先順序類型。
範例
使用 select 搭配簡單的 CASE 表達式:
SELECT
CASE vehicleType
WHEN 'S' THEN 'Sedan'
WHEN 'T' THEN 'Truck'
WHEN 'V' THEN 'Van'
ELSE NULL
END as vehicleTypeName
FROM vehicles
搭配搜尋的 CASE 運算式使用 select:
SELECT
CASE
WHEN temperature < 60 THEN 'Alert'
ELSE 'OK'
END as currentStatus
FROM sensor