SELECT LEFT(SUBSTRING('123456',3,1),1); # 逐个拆分后获取指定索引的字符串 3:取第3个。1:取1个。1:从左取第一个
SELECT LEFT(SUBSTRING('P1111',help_topic_id+1),1) AS num FROM mysql.help_topic WHERE help_topic_id < LENGTH('P1111'); # 逐个拆分字符串
#################################
SELECT SUBSTRING_INDEX('a,b,c,d,e,f,g',',',2); # 按某个字符拆分后获取指定索引之前的字符串 2:取第二个索引之后的所有
SELECT SUBSTRING_INDEX('a,b,c,d,e,f,g',',',-2); # 按某个字符拆分后获取指定索引之后的字符串 -2:取倒数第二个索引之前的所有
# 注:这里的拆只是辅助定位索引位置,拆完原来的字符串并没有发生改变。只是提供了一种定位字符的规则;
# 按某个字符串拆分后取指定索引位置的字符,
#2:取最初的字符拆分之后第二个索引之前的字符串,取完之前字符串以后'a,b' -1:取倒数第一个索引之后的字符,也就是取倒数第一个
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('a,b,c,d,e,f,g',',',2),',',- 1);
#利用help_topic达到拆分字符串为竖列表的目的,因为这个表的id从0开始。我们只要查询小于字符串拆分长度的数据,就能刚好得到我们想要拆分的数量的数据,然后在展示部分进行字符串的拆分,再利用id值进行索引的推进,
# 拆分后的长度我们可以利用替换REPLACE()函数,替换调所有的分隔符为空,然后用,原来包含分隔符的总字符数-去掉分隔符后的总数就能得到分隔符的数量,再+1就是我们需要拆分的数量[4个分隔符当然是拆5份了]
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX('王一加,兆老板,阿霆,卓羊,伢子哥',',',help_topic_id+1),',',-1) AS kname
FROM
mysql.help_topic
WHERE
help_topic_id < LENGTH('王一加,兆老板,阿霆,卓羊,伢子哥')-LENGTH(REPLACE('王一加,兆老板,阿霆,卓羊,伢子哥',',',''))+1
如果不index套娃得到的结果