英文:
Metaprogramming for binary functions in DolphinDB
问题
当我处理涉及二进制函数的SELECT语句,例如 select func(a,b) from tb
时,无法使用 sqlCol
函数。 有人知道有什么可用的替代元编程技术来解决这种情况吗?
英文:
When I handled a SELECT statement involving a binary function, such as select func(a,b) from tb
, the sqlCol
function can not be used. Does anyone know any alternative metaprogramming techniques available to address this situation?
答案1
得分: 1
你可以使用 sqlColAlias
,它接受一个元代码作为参数。要为二元函数生成元代码,你可以使用 makeUnifiedCall
或 makeCall
函数。
注意:当将列名用作参数时,你需要首先使用 sqlCol
将它们转换为列对象。
sql(select=sqlColAlias(makeUnifiedCall(funcByName("corr"), [sqlCol("a"), sqlCol("b")])), from="t")
英文:
You can use sqlColAlias
, which accepts a metacode as an argument. To generate metacode for a binary function, you can use the makeUnifiedCall
or makeCall
functions.
Note: when using column names as arguments, you need to convert them to column objects using sqlCol
first.
sql(select=sqlColAlias(makeUnifiedCall(funcByName("corr"), [sqlCol("a"), sqlCol("b")])), from="t")
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论