case()

计算谓词列表并返回其谓词满足条件的第一个结果表达式

如果两个谓词都没有返回 true,则返回最后一个表达式 (else) 的结果。 所有奇数参数(从 1 开始计数)必须是计算结果为 boolean 值的表达式。 所有偶数参数 (then) 和最后一个参数 (else) 的类型必须相同。

语法

case(predicate_1, then_1, predicate_2, then_2, predicate_3, then_3, else)

参数

  • predicate_i:一个计算结果为 boolean 值的表达式。
  • then_i:一个表达式,在进行计算时,如果 predicate_i 是计算结果为 true 的第一个谓词,则从函数返回其值。
  • else:一个表达式,在进行计算时,如果 predicate_i 的计算结果都不是 true,则从函数返回其值。

返回

第一个其 predicate_i 的计算结果为 true 的 then_i 的值;如果谓词都得不到满足,则为 else 的值。

示例

range Size from 1 to 15 step 2
| extend bucket = case(Size <= 3, "Small", 
                       Size <= 10, "Medium", 
                       "Large")
大小 Bucket
1 小型
3 小型
5 中型
7 中型
9 中型
11 大型
13 大型
15 大型