0 或 1,结果类型为 UInt8;在某些情况下也会返回 NULL。
参数为零时视为 false,非零值视为 true。
and
short_circuit_function_evaluation 用于控制是否启用短路求值。
如果启用,则仅当 (val_1 AND val_2 AND ... AND val_{i-1}) 为 true 时,才会计算 val_i。
例如,启用短路求值后,执行查询 SELECT and(number = 2, intDiv(1, number)) FROM numbers(5) 时不会抛出除零异常。
作为参数时,零被视为 false,非零值被视为 true。
语法
val1, val2[, ...]— 至少包含两个值的列表。Nullable((U)Int*)或Nullable(Float*)
0,如果至少有一个参数的求值结果为falseNULL,如果没有任何参数的求值结果为false,且至少有一个参数为NULL1,否则Nullable(UInt8)
Query
Response
Query
Response
not
false,非零值被视为 true。
语法
- 如果
val的计算结果为false,则返回1 - 如果
val的计算结果为true,则返回0 - 如果
val为NULL,则返回NULL。Nullable(UInt8)
Query
Response
or
short_circuit_function_evaluation 用于控制是否使用短路求值。
如果启用,只有当 ((NOT val_1) AND (NOT val_2) AND ... AND (NOT val_{i-1})) 为 true 时,才会计算 val_i。
例如,使用短路求值时,执行查询 SELECT or(number = 0, intDiv(1, number) != 0) FROM numbers(5) 不会抛出除零异常。
参数值为零时视为 false,非零值视为 true。
语法
val1, val2[, ...]— 至少包含两个值的列表。Nullable((U)Int*)或Nullable(Float*)
1,如果至少有一个参数求值为true0,如果所有参数求值都为falseNULL,如果所有参数求值都为false,且至少有一个参数为NULLNullable(UInt8)
Query
Response
Query
Response
xor
false,非零值视为 true。
语法
val1, val2[, ...]— 至少包含两个值的列表。Nullable((U)Int*)或Nullable(Float*)
1,对于两个值:如果其中一个值的计算结果为false,而另一个不是0,对于两个值:如果两个值的计算结果都为false或都为trueNULL,如果至少有一个输入为NULL。Nullable(UInt8)
Query
Response