在运算符中执行 like and 的查询

Query which performs like and in operators

我正在尝试 运行 Athena 查询,该查询将匹配列的多个值。所以查询是这样的。所以这里的事件名称将是 'n' 字符串中的事件数,用逗号分隔。

eventname = "ExecuteQuery, ErrorOccured, RunningStatus, AbortStatus"

SELECT * FROM "db_name"."table_name" where account='123456' and  year='2010' and month='04' and day = '1'
and (eventname like  '%Execute%' or eventname like'%Error%' or eventname like '%Running%' or eventname like '%...%')

所以基本上我想查询执行 LIKE 和 IN 运算符

如何使用具有 n 个事件的运算符编写 sql 查询。 我尝试使用 'IN' 运算符。但是没有得到想要的输出。

SELECT * FROM "db_name"."table_name" where account='123456' and  year='2010' and month='04' and day = '1'
and (eventname in  ('Execute%', '%Error%', 'Running%') 

还尝试了以下查询,它抛出错误 任何未注册的函数

SELECT * FROM "db_name"."table_name" where account='123456' and and year='2020' and month='04' and day = '1'
and eventname LIKE ANY (ARRAY['%Execute%', 'Error%']);
    

您可以使用 regexp_like,例如

select * from table where regexp_like(eventname, 'Execute|Error|Running' )