元编程中是否支持对array vector的查询

如下所示表t有一列arr1是array vector:

arr1=array(DOUBLE[], 0, 10).append!([2 3 4, 4 5 7, 7 9 10])
t = table(1..3 as id, arr1, rand(100, 3) as value)

用sql查询array vector列的第一个元素,即arr1[0],可以查询:

select arr1[0] from t

返回结果:

arr1_at
2
4
7

现在想用元编程的方式查询:

sql(select = sqlCol('arr1[0]') ,from =t).eval()

报错:

Server response: 'Unrecognized column name arr1[0]'
请先 登录 后评论

1 个回答

wale

 可以用以下2种方法:

sql(select=sqlColAlias(<arr1[0]>,"arr1_0"), from=t).eval()
sql(select=sqlColAlias(makeCall(at, sqlCol("arr1"), 0), "arr1_0"), from=t).eval()

第一种用了元代码<arr1[0]>,第二种方法用makeCall调用at函数。

请先 登录 后评论