S02023

错误代码

S02023

报错信息

The array vector specified in SELECT must be generated by function toArray. RefId:S02023

错误原因

在使用 group by 子句的查询中,若 select 子句对某一列应用了生成 array vector 的函数,要求函数必须搭配 toArray 使用,否则会出现该报错。

解决方案

检查 select 子句指定的列的计算结果是否为 array vector,若是,则搭配使用 toArray,见下例:

def fun(a) {
    return array(INT[],0,2).append!([1 2])
}
re = fun([1,2,3])

arr = 1..10
id = take(1..5,10)
t = table(arr, id)

select fun(arr) from t group by id; // throw exception
select toArray(fun(arr)) from t group by id; // OK