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 || ',%';
相关推荐
-借我杀死庸碌的情怀-15 分钟前
navicat可视化页面直接修改数据库密码——mysql、postgresql、mangodb等
数据库·mysql·postgresql
码码不爱我1 小时前
学习笔记:Redis入门
数据库·redis·学习
熊出没1 小时前
阿里云云原生数据库PolarDB和普通云数据库的区别?
数据库·阿里云·云原生
zhuiQiuMX2 小时前
SQL力扣
数据库·sql·leetcode
debug 小菜鸟2 小时前
MySQL 主从复制与一主多从架构实战详解
数据库·mysql·架构
远方16093 小时前
29-Oracle 23ai Flashback Log Placement(闪回日志灵活配置)
数据库·sql·oracle·database
꧁༺摩༒西༻꧂3 小时前
Windows安装Oracle19
数据库·oracle
代码老y3 小时前
前端开发中的可访问性设计:让互联网更包容
java·服务器·前端·数据库
weixin_438335403 小时前
MySQL索引优化:回表
数据库·mysql
SHUIPING_YANG3 小时前
tp3.1临时连接指定数据库,切片分类in查询,带过滤需要的数据
android·数据库