如何使用DolphinDB元编程指定多个匹配模式来查询字符串?

问题描述 投票:0回答:1

例如,我使用以下脚本将匹配模式设置为(“NewEnergy”,“Solar”):

where (index_full_name like "%NewEnergy%" or index_full_name like "%Solar%")

但是出现错误:

The where clause [any(index_full_name like:R ["%NewEnergy%","%Solar%"])] of a distributed/partitioned sql shouldn't use any aggregate or order-sensitive function.

metaprogramming dolphindb
1个回答
0
投票

您可以在 where 子句中使用

rowOr(index_full_name like:R ["%NewEnergy%", "%Solar%"])
,如以下元编程脚本所示:

pattern = ["%NewEnergy%", "%Solar%"]
colMeta = "flagName"
whereCond = makeCall(def(colMeta, pattern){return rowOr(colMeta like:R pattern)}, sqlCol(colMeta), pattern)
t = table(["NewEnergy01", "NewEnergy02", "Electricity01"] as flagName, 1 2 3 as val)
sql(sqlCol("val"), t, whereCond).eval()
© www.soinside.com 2019 - 2024. All rights reserved.