SQL 字串中 計算/統計 特定字串出現次數
SQL 字串中 計算/統計 特定字串出現次數
資料來源: http://jengting.blogspot.com/2012/09/string-occur-times.html
Code
SELECT
T.String ,
(LEN(T.String) - LEN(REPLACE(T.String,'A',''))) / LEN('A') AS 'A 出現次數',
(LEN(T.String) - LEN(REPLACE(T.String,'23',''))) / LEN('23') AS '23 出現次數' ,
(LEN(T.String) - LEN(REPLACE(T.String,'DEF',''))) / LEN('DEF') AS 'DEF 出現次數'
FROM
(
SELECT '123456123456' AS String
UNION ALL
SELECT 'ABCDEF'
UNION ALL
SELECT '123ABC321'
UNION ALL
SELECT 'DEF456ABC'
) AS T
邏輯說明
利用 REPLACE() 函數來取代特定字串,再利用原字串和特定字串取代後長度相減,除以特定字串長度來計算出現次數,下圖示把文字說明改為數學式來表達。