目次
指定文字列の個数を調べる
指定文字列の個数を調べたい列をcol
とします。
SELECT (LENGTH(col) - LENGTH(REPLACE(col, '<検索する文字列>', ''))) / LENGTH('<検索する文字列>') AS CNT FROM tbl
- まず、
col
の長さを調べておきます。 - 次に、
'<検索する文字列>'
を空文字に置換した文字列の長さを調べます。 - この二つの引き算して長さの差を求めます。
- 最後に長さの差を
'<検索する文字列>'
の長さで割ります。- 最後に割るのは、
'<検索する文字列>'
の2文字以上の場合を考慮してです。 - 一瞬割り算で割り切れない時はどうするのかな?と思いますが、基本的には置換される数と割る数が一致するはずなので、割り切れなくなる心配はないようです。
- 最後に割るのは、