【383天】我愛刷題系列142(2018.02.23)

@(一隻心中無碼的程序員)專欄html

叨叨兩句

  1. ~

SQL習題037

1

題目描述
查找字符串'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
相關文章
相關標籤/搜索