逻辑函数
between
语法 | between(ARG,START,END) |
---|---|
参数说明 | 1. 参与计算的参数,任意类型; 2. 指定起始,任意类型; 3. 指定结束,任意类型 |
返回值类型 | 布尔 |
描述 | 判断 arg 是否处于[start,end]之间 |
例子 | between(5, 1, 10),返回:TRUE |
between_ie
语法 | between_ie(ARG,START,END) |
---|---|
参数说明 | 1. 参与计算的参数,任意类型; 2. 指定起始,任意类型; 3. 指定结束,任意类型 |
返回值类型 | 布尔 |
描述 | 判断 arg 是否处于(start,end]之间,左开右闭区间 |
例子 | between_ie(5, 5, 10),返回:FALSE(因不包含左边界) |
case when
语法 | case when condition then result1 [else result2] end |
---|---|
参数说明 | condition 是一个返回值为布尔类型的表达式 |
返回值类型 | 与 result1、result2 类型一致 |
描述 | 该函数根据 condition 条件表达式的返回结果进行输出。当 condition 为 true 时,返回 result1。当 condition 为 false 时,返回 result2,else 分支不是必须存在的。 |
例子 | case when {code} = 2 then '优秀' when {code} = 1 then '通过' else '未通过' end |
coalesce
语法 | coalesce(ARG, REPLACEMENT) |
---|---|
参数说明 | 1. 参与计算的参数,任意类型; 2. 用于替换 NULL 的值,任意类型(需与第一个参数类型一致) |
返回值类型 | ANY |
描述 | 将 arg 中的 NULL 值替换为其他一个值 |
例子 | coalesce(null, '默认值'),返回:'默认值'; coalesce(123, 0),返回:123 |
不支持的数据源 | 无 |
if
语法 | if(B,TRUE,FALSE) |
---|---|
参数说明 | 1. 条件,布尔类型参数,可选类型:布尔; 2. 条件为真时的值,任意类型; 3. 条件为假时的值,任意类型 |
返回值类型 | ANY |
描述 | 条件分支判断,后两个参数的类型必需一样。 |
例子 | if({score}>=60, '及格', '不及格'),返回:根据 score 字段值返回对应字符串 |
in
语法 | in(ARG,ARR) |
---|---|
参数说明 | 1. 参与计算的参数,任意类型; 2. 数组类型参数,可选类型:ARRAY |
返回值类型 | 布尔 |
描述 | 字段的值是否在列表中 |
例子 | in('apple', ['banana', 'apple']),返回:TRUE |
isnull
语法 | isnull(ARG) |
---|---|
参数说明 | 参与计算的参数,任意类型 |
返回值类型 | 布尔 |
描述 | 判断指定字段是否为 null |
例子 | isnull(null),返回:TRUE |
isnotnull
语法 | isnotnull(ARG) |
---|---|
参数说明 | 参与计算的参数,任意类型 |
返回值类型 | 布尔 |
描述 | 判断指定字段是否为非 null |
例子 | isnotnull('test'),返回:TRUE |
not_between
语法 | not_between(ARG,START,END) |
---|---|
参数说明 | 1. 参与计算的参数,任意类型; 2. 指定起始,任意类型; 3. 指定结束,任意类型 |
返回值类型 | 布尔 |
描述 | 判断 arg 是否在[start,end]之外 |
例子 | not_between(5, 1, 10),返回:FALSE |
notin
语法 | notin(ARG,ARR) |
---|---|
参数说明 | 1. 参与计算的参数,任意类型; 2. 数组类型参数,可选类型:ARRAY |
返回值类型 | 布尔 |
描述 | 字段的值是否在列表之外 |
例子 | notin('apple', ['banana', 'apple']),返回:FALSE |