我有一个字符串变量@IDS
,我正在尝试过滤表user
中的记录,但由于我是MySql的新手,所以没有任何帮助我。
SET @IDS = '1,2,3';
select * from user where find_in_set(@IDS,ID);
答案 0 :(得分:1)
您需要切换参数的顺序:
SELECT *
FROM user
WHERE FIND_IN_SET(ID, @IDS);
FIND_IN_SET(STR,strlist)
如果字符串str在由N个子字符串组成的字符串列表strlist中,则返回1到N范围内的值
换句话说,第一个参数是您尝试在字符串的CSV列表中找到的字符串,这是第二个参数。如果ID
中可以找到@IDS
,则会返回匹配的索引(从1开始)。如果未找到匹配项,则返回零。