substring_index(str,delim,count)
str:要处理的字符串
delim:分隔符
count:计数
例子:str = A,B,C,D,E
取A:substring_index(str, ',', 1)
取B:substring_index(substring_index(str, ',', 2), ',', -1)或者 substring_index(substring_index(str, ',', -4), ',', 1)
如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容
SELECT
substring_index(substring_index('A,B,C,D,E',',',help_topic_id + 1),',' ,- 1) AS Id
FROM
mysql.help_topic
WHERE
help_topic_id < (length('A,B,C,D,E') - length(REPLACE ('A,B,C,D,E', ',', '')) + 1);
解释
此处利用 mysql 库的 help_topic 表的 help_topic_id 来作为变量,因为 help_topic_id 是连续自增的,当然也可以用其他表的连续自增字段辅助。
注意:一般生产环境用户权限不一定会有mysql库的使用权,所以可以自建一个表使用