使用逗号分隔的字符串过滤记录
Filter records using a comma separated string
我有一个字符串变量 @IDS
,我正在尝试从 table user
中过滤记录,但没有任何帮助,因为我是 [=15] 的新手=].
SET @IDS = '1,2,3';
select * from user where find_in_set(@IDS,ID);
您需要调换参数顺序:
SELECT *
FROM user
WHERE FIND_IN_SET(ID, @IDS);
FIND_IN_SET(str,strlist)
Returns a value in the range of 1 to N if the string str is in the string list strlist consisting of N substrings
换句话说,第一个参数是您要在 CSV 字符串列表中查找的字符串,这是第二个参数。如果在@IDS
中可以找到ID
,则返回匹配的索引(从1开始)。如果未找到匹配项,则返回零。
我有一个字符串变量 @IDS
,我正在尝试从 table user
中过滤记录,但没有任何帮助,因为我是 [=15] 的新手=].
SET @IDS = '1,2,3';
select * from user where find_in_set(@IDS,ID);
您需要调换参数顺序:
SELECT *
FROM user
WHERE FIND_IN_SET(ID, @IDS);
FIND_IN_SET(str,strlist)
Returns a value in the range of 1 to N if the string str is in the string list strlist consisting of N substrings
换句话说,第一个参数是您要在 CSV 字符串列表中查找的字符串,这是第二个参数。如果在@IDS
中可以找到ID
,则返回匹配的索引(从1开始)。如果未找到匹配项,则返回零。