MYSQL实现split()功能

实现代码1

select
	SUBSTRING_INDEX(SUBSTRING_INDEX('hud,wwe,rrt,tyf,oi' ,',',i),',',-1) as id
from
	(select ( @i := @i + 1) as i
	from
		test,(select @i := 0) as it	limit 15) num
where
	num.i <= length('hud,wwe,rrt,tyf,oi')-length(replace('hud,wwe,rrt,tyf,oi' , ',', ''))+ 1

注意

test可以是任意数据表,num表的数据大小由limit和test大小共同决定。当‘,’很多时需要数据足够的表,且limit需要>逗号数量。

实现代码2

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,7782,7788',',',help_topic_id+1),',',-1) AS num 
FROM mysql.help_topic 
WHERE help_topic_id < LENGTH('7654,7698,7782,7788')-LENGTH(REPLACE('7654,7698,7782,7788',',',''))+1

注意

此方式需要mysql库操作权限(可建序列表替代mysql.help_topic)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐