SQL 字串中 ​計算/統計 特定字串出現次數

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() 函數來取代特定字串,再利用原字串和特定字串取代後長度相減,除以特定字串長度來計算出現次數,下圖示把文字說明改為數學式來表達。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *