在运算符中执行 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' )
我正在尝试 运行 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' )