我有一个表格,其中以下查询正常工作:
select *
from session_actions
where action_type IN ('login_failed','channel_recorded')
现在我期待以下内容:
select *
from session_actions
where action_type IN ('login_failed,channel_recorded')
如您所见,我想给IN
运算符一个逗号分隔的参数,但不可能
如何将此逗号分隔的字符串转换为IN
运算符可接受的参数列表?
答案 0 :(得分:2)
您可能正在寻找 FIND_IN_SET() 功能。
select *
from session_actions
where find_in_set(`action_type`,'login_failed,channel_recorded');
<强> SAMPLE FIDDLE 强>
答案 1 :(得分:0)
我试过FIND_IN_SET
,但速度太慢了。从那时起我宁愿使用haystack REGEXP CONCAT('[[:<:]]', needle, '[[:>:]]')
。