题目描述
查找字符串'10,A,B' 中逗号','出现的次数cnt。
解决思路
SELECT (length("10,A,B") - length(replace("10,A,B",",","")))/length(",") cnt
- length():统计字符串长度
- replace(字符串,“需要替换的子串”,“用于替换子串的字符串”)将,替换为空,字符串缩短的长度就是,号的个数
- 先用replace函数将原串中出现的子串用空串替换,再用原串长度减去替换后字符串的长度,最后除以子串的长度(本题中此步可省略,若子串长度大于1则不可省)