之前偶爾會有這樣的需求
不過壞習慣一來就是反射動作就開始寫CODE、寫迴圈去捉結果
其實有更聰明的辦法
原理很白痴也很簡單操作:
原則上是就REMOVE掉要找的字串->看被移掉多少字元->再除要找的字串長度->最後就是你要找的字串出現次數

ex.(oracle)
SELECT
T.STRING ,
(LENGTH(T.STRING) - LENGTH(REPLACE(T.STRING,'x',''))) / LENGTH('x') AS TIMES
FROM (
SELECT '123x456x123x456' STRING FROM DUAL
) T;
T.STRING ,
(LENGTH(T.STRING) - LENGTH(REPLACE(T.STRING,'x',''))) / LENGTH('x') AS TIMES
FROM (
SELECT '123x456x123x456' STRING FROM DUAL
) T;
result:
STRING | TIMES |
123x456x123x456 | 3 |
全站熱搜