思路:
由于 SQLite 中没有直接统计字符串中子串出现次数的函数,因此本题用length()函数与replace()函数的结合灵活地解决了统计子串出现次数的问题,属于技巧题,即先用replace函数将原串中出现的子串用空串替换,再用原串长度减去替换后字符串的长度,最后除以子串的长度(本题中此步可省略,若子串长度大于1则不可省)
select length("10,A,B")-length(replace("10,A,B",",","")) as cnt;
SQLite统计子串次数技巧
本文介绍了一种在SQLite中统计字符串中特定子串出现次数的巧妙方法,利用length()和replace()函数组合,适用于子串长度为1的情况。通过示例SQL语句展示了解决方案。
思路:
由于 SQLite 中没有直接统计字符串中子串出现次数的函数,因此本题用length()函数与replace()函数的结合灵活地解决了统计子串出现次数的问题,属于技巧题,即先用replace函数将原串中出现的子串用空串替换,再用原串长度减去替换后字符串的长度,最后除以子串的长度(本题中此步可省略,若子串长度大于1则不可省)
select length("10,A,B")-length(replace("10,A,B",",","")) as cnt;
1079

被折叠的 条评论
为什么被折叠?