between

语法

between(X, a:b)

参数

X 可以是标量、数据对、向量或矩阵;

a:b 是一个表示范围的数据对。

详情

检查 X 的每个元素是否在 a 和 b 之间(两个边界都是包含在内的)。返回结果的长度或维度与 X 相同。

例子

between([1, 5.5, 6, 8], 1:6);
# output
[1,1,1,0]
// 1, 5.5 和 6 在 1 和 6 之间,但 8 不是。

between(1 2.4 3.6 2 3.9, 2.4:3.6);
# output
[0,1,1,0,0]

between 可以搭配 select 使用,用于筛选列的范围:

t = table(`abb`aac`aaa as sym, 1.8 2.3 3.7 as price);
select * from t where price between 1:3;
sym price
abb 1.8
aac 2.3

下例说明数据对 a:b 中出现空值的处理方式。若配置 nullAsMinValueForComparison =true,则 NULL 值当同数据类型的而最小值处理, 若配置 nullAsMinValueForComparison =false,则 NULL 值仍保留为 NULL。也可以使用 nullCompare 函数,无论 nullAsMinValueForComparison 设置为何值都保留 NULL 值。

between(10,:10)
# output
true      // 配置 nullAsMinValueForComparison=true 时的返回结果
between(10,:10)
# output
NULL     // 配置 nullAsMinValueForComparison=false 时的返回结果
nullCompare(between, 10, :10)
# output
NULL