3

我有一个表,其中以下查询可以正常工作:

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操作员可以接受的参数列表?

4

2 回答 2

3

您可能正在寻找FIND_IN_SET()函数。

select * 
from session_actions 
where find_in_set(`action_type`,'login_failed,channel_recorded');

样品小提琴

于 2013-08-07T17:52:00.183 回答
0

我试过FIND_IN_SET了,但是超级慢。haystack REGEXP CONCAT('[[:<:]]', needle, '[[:>:]]')从那以后我宁愿使用。

于 2016-11-23T17:32:47.783 回答