@(一隻心中無碼的程序員)專欄html
- ~
題目描述
查找字符串'10,A,B' 中逗號','出現的次數cnt。程序員
因爲 SQLite 中沒有直接統計字符串中子串出現次數的函數,所以本題用length()函數與replace()函數的結合靈活地解決了統計子串出現次數的問題,屬於技巧題,即先用replace函數將原串中出現的子串用空串替換,再用原串長度減去替換後字符串的長度,最後除以子串的長度(本題中此步可省略,若子串長度大於1則不可省)。詳情請參考: http://www.cnblogs.com/huangtailang/p/5cfbd242cae2bcc929c81c266d0c875b.html http://sqlite.org/lang_corefunc.html#replace SELECT (length("10,A,B")-length(replace("10,A,B",",","")))/length(",") AS cnt 還能夠利用OJ系統的Bug直接輸出2次來經過測試 SELECT 2 AS cnt