题目描述
查找字符串’10,A,B’ 中逗号’,'出现的次数cnt。
解答
SQLite 中没有直接统计字符串中子串出现次数的函数,本题可以先用replace函数将原串中出现的子串用空串替换,再用原串长度减去替换后字符串的长度,最后除以子串的长度,就能得到次数
select (length("10,A,B")-length(replace( "10,A,B", "," ,"")))/length(',') as cnt
还可以根据split函数将目标字符串按照逗号进行切分,得到的结果是一个数组,然后求出数组元素的个数,减去1就是逗号的个数
select size(split('10,A,B', ','))-1;