6.14 提取第n个分割的子串

Posted 长城之上是千亿的星空,星空之上是不灭的守望。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.14 提取第n个分割的子串相关的知识,希望对你有一定的参考价值。

问题:从字符串中提取出一个指定的、由分割符隔开的子字符串。
create view v as 
select ‘mo,larry,curly‘ as name
from t1
union all
select ‘tina,gina,jaunita,regina,leena‘ as name from t1;

select * from v;
+--------------------------------+
| name                           |
+--------------------------------+
| mo,larry,curly                 |
| tina,gina,jaunita,regina,leena |
+--------------------------------+

 

解决方案:

select name 
from (
select iter.pos,
substring_index(
substring_index(src.name,‘,‘,iter.pos),‘,‘,-1) name 
from v src,
(select id pos from t10) iter 
where iter.pos <=
length(src.name)-length(replace(src.name,‘,‘,‘‘))
)x 
where pos =2;

+-------+
| name  |
+-------+
| larry |
| gina  |
+-------+

以上是关于6.14 提取第n个分割的子串的主要内容,如果未能解决你的问题,请参考以下文章

PB中取字符串子串的函数是啥

PB中取字符串子串的函数是啥

字符串子串去重之后的个数

CF 778A(当然是抄题解了)

[loj#3049] [十二省联考 2019] 字符串问题

sql server 里类似replace的字符串子串删除