✅ 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 (s)和 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