mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-08 08:35:20 +00:00
1.5 KiB
1.5 KiB
条件函数
如果(cond,那么,否则),cond? 运算符然后:else
如果cond != 0
则返回then
,如果cond = 0
则返回else
。
cond
必须是UInt8
类型,then
和else
必须存在最低的共同类型。
then
和else
可以是NULL
多
允许您在查询中更紧凑地编写CASE运算符。
multiIf(cond_1, then_1, cond_2, then_2...else)
参数:
cond_N
— 函数返回then_N
的条件。then_N
— 执行时函数的结果。else
— 如果没有满足任何条件,则为函数的结果。
该函数接受2N + 1
参数。
返回值
该函数返回值«then_N»或«else»之一,具体取决于条件cond_N
。
示例
存在如下一张表
┌─x─┬────y─┐
│ 1 │ ᴺᵁᴸᴸ │
│ 2 │ 3 │
└───┴──────┘
执行查询 SELECT multiIf(isNull(y), x, y < 3, y, NULL) FROM t_null
。结果:
┌─multiIf(isNull(y), x, less(y, 3), y, NULL)─┐
│ 1 │
│ ᴺᵁᴸᴸ │
└────────────────────────────────────────────┘