MySQL/Oracle用逗号分割的id怎么实现in (逗号分割的id字符串)。find_in_set(`id`, ‘1,2,3‘) 函数,

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 || ',%';
相关推荐
2401_824697664 分钟前
mysql添加索引导致插入变慢怎么办_索引优化与异步处理方案
jvm·数据库·python
2401_824697667 分钟前
Go语言如何写负载均衡器_Go语言负载均衡器实战教程【完整】
jvm·数据库·python
m0_733565468 分钟前
CSS如何快速微调项目的间距大小_使用CSS变量批量修改值
jvm·数据库·python
Languorous.13 分钟前
MySQL聚合查询:COUNT、SUM、AVG用法,实战案例演示
android·数据库
woxihuan12345616 分钟前
如何为禁用按钮添加点击提示信息
jvm·数据库·python
ㄟ留恋さ寂寞22 分钟前
Golang怎么限制请求Body大小_Golang如何防止客户端发送过大的请求体【避坑】
jvm·数据库·python
老纪33 分钟前
CSS Flex布局中如何实现导航栏与Logo的左右分布_利用justify-content- space-between
jvm·数据库·python
会编程的土豆34 分钟前
Go ini 配置加载:`ini.MapTo` 详细解析
开发语言·数据库·golang
今天也是元气满满的一天呢42 分钟前
详解SQL注入问题
网络·数据库·sql
omenkk744 分钟前
【MySQL专题】1.一条更新SQL语句是如何执行的
数据库·sql·mysql