Oracle問題:某個字符的出現(xiàn)次數(shù)
最近解決了一個SQL問題,在某個列中,某個字符的出現(xiàn)次數(shù)。寫完后參考了下網(wǎng)上大神的做法,然后做一些總結(jié)。https://blog.csdn.net/goodleiwei/article/details/10223691大神原帖
思路:
獲取字符串?dāng)?shù)量(上海自來水來自海上);
獲取字符串(上海自來水來自海上)替換掉所查找字符(來)后的字符量(上海自水自海上);
兩者取差后,除以所查找字符數(shù)量即可;
大神思路:
????1.將所查找字符串替換為某標(biāo)識(@);
????2.再使用函數(shù),將非標(biāo)識符字段全部清空;
? ? 3.獲得標(biāo)識符數(shù)量即可;
相關(guān)知識:
參考:https://www.jianshu.com/p/3bcc06b1294b
函數(shù)REPLACE(參數(shù)A,參數(shù)B,參數(shù)C)
????????A中的B替換為C
函數(shù)REGEXP_REPLACE(參數(shù)A,參數(shù)B,參數(shù)C)
????????A中符合正則表達(dá)式B的部分替換為C
函數(shù)LENGTH(參數(shù)A)
? ? ? ? 參數(shù)A,字符串長度
正則[^參數(shù)]
????????所有非參數(shù)的字符串
待解決問題:
????????大佬的代碼里,替換寫為[^@]+
? ? ? ? 多了一個加號,據(jù)網(wǎng)上搜索,意為可以匹配重復(fù)多個字符
????? ? 但實(shí)際操作去除此+號也可使用,不太理解
標(biāo)簽: