自分用の覚書です。
SQLIte3で特定の文字(私の場合はパスの分割文字である/)をn個含んだ文字列を検索する事態に迫られたので・・・覚書として残しておきます。

SELECT カラム, COUNT(1) FROM テーブル WHERE (length(カラム) - length(replace(カラム, '/', '')) = n;

 

■解説

「replaceでカラムに含まれる文字 / を 空文字に置換し、全体文字数から置換後文字数を引いた結果が / の数になる」という事を利用して検索しました。

indexが効かないので、当然速度は遅くりますから業務には不向きですね。
暫定的に調べものするときに使いましょう。
テーブル設計時に/の数をカウントした結果を保持するカラムを作っておけば、こんな事しなくても良いのにね(笑)
ちなみに、これはSQLite向けです。