1.MySQL
1.1.正确写法
sql
select * from student where find_in_set(`s_id`, '1,2,3');
1.2.错误示范
sql
select * from student where find_in_set(`s_id`, '1,2 ,3'); -- 注意,中间不能有空格。1、3
select * from student where find_in_set(`s_id`, '1,2, 3'); -- 注意,中间不能有空格。1、2
select * from student where find_in_set(`s_id`, '1,2 , 3'); -- 注意,中间不能有空格。1
2.Oracle
2.1.方式一
sql
select *
from student
where s_id in
(
select regexp_substr('1,2,3', '[^,]+', 1, level) as value
from dual
connect by regexp_substr('1,2,3', '[^,]+', 1, level) is not null
);
2.2.方式二
sql
-- 在Oracle SQL中,没有内置的FIND_IN_SET函数,但是你可以使用一些技巧来实现类似的功能。以下是一个示例:
SELECT *
FROM student
WHERE ',' || '1,2,3' || ',' LIKE '%,' || s_id || ',%';