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)