文字列の出現回数を調べる
新しいブログをはじめました!
ブログ名:筋肉カメレオン
WordpressやAWS、時々筋トレについて書いてます。
SQLserver
検索結果を表示する際に、キーワードが文字列の中にいくつ含まれているか表示させたいなぁと思って、試行錯誤してみた。
はじめ、count()をサブクエリで使えるのかなと思って試してみたら、ダメでした。
次に patindex をうまく使えばできるんじゃないかと思ったけど、これもダメ。
結局あきらめて、本屋で立ち読みしてたら解決!
select
(
select (len('hoge!hoge!hoge') - len(replace('hoge!hoge!hoge', 'hoge', ''))) / len('hoge')
) as CNT
from TABLE
実際は「'hoge!hoge!hoge'」がカラム名にあたるよ。
※後日、自分で見たらわかりづらかったので修正
select ( select (len(カラム名) - len(replace(カラム名, 'キーワード', ''))) / len('キーワード') ) as CNT from テーブル名
(len(文字列) - len(文字列からキーワードを削除した値)) / len(キーワード)
これで、キーワードがいくつ含まれているかが求められる。パズルみた〜い♪
SQL Hacks ―データベースを自由自在に操るテクニック
- 作者: Andrew Cumming,Gordon Russell,西沢直木
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/07/28
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 90回
- この商品を含むブログ (34件) を見る
間違えた
SQLクックブック ―データベースエキスパートのための実践レシピ集
- 作者: Anthony Molinaro,木下哲也,有限会社福龍興業
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/01/25
- メディア: 大型本
- 購入: 2人 クリック: 84回
- この商品を含むブログ (19件) を見る