mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-17 13:13:36 +00:00
1.4 KiB
1.4 KiB
条件函数
if(cond, then, else), cond ? operator then : else
如果cond != 0
则返回then
,如果cond = 0
则返回else
。
cond
必须是UInt8
类型,then
和else
必须存在最低的共同类型。
then
和else
可以是NULL
multiIf
允许您在查询中更紧凑地编写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 │
│ ᴺᵁᴸᴸ │
└────────────────────────────────────────────┘