カラムに登録されているカンマ区切りのデータを使って検索・抽出する方法令和2年 5月 12日 作成
概略
カンマ区切りになっているデータに対して、その中に含まれる文字を対象い検索・抽出したい場面が多々たります。その様な時に活躍するのが「FIND_IN_SET関数」です。
手段
WHERE句において、カラムにカンマ区切りでデータを「FIND_IN_SET関数」によって検索・抽出。
実装方法
構文
FIND_IN_SET(検索する値, 検索対象のカンマ区切りのカラム・文字列)
下記テーブルに対し「カラム fruitに[orange]が含まれる」という条件で抽出を行うSQL文を後記。
+----+--------------+ | id | fruit | +----+--------------+ | 1 | apple | | 2 | orange | | 3 | orange,lemon | | 4 | grape | +----+--------------+ SQL文 SELECT id fruit FROM テーブル名 WHERE FIND_IN_SET('orange', fruit);
出力結果は[orange]を含むidが[2]と[3]が抽出されす。
+----+--------------+ | id | fruit | +----+--------------+ | 2 | orange | | 3 | orange,lemon | +----+--------------+
考察
とても便利な関数です。
レコード数が多いと検索速度が遅くなる等のマイナス面もあるようですが..自分の環境下においてはまだ速度が遅いと体感できるほどまでには至っていません。
最後までお読み下さり ありがとうございました。記事はここ迄です。
尚、本記事は作成から「3年以上」経過しています。
記事作成当時と現在の状況等により内容が適切でない場合があります。また、リンク切れが生じている場合もあります事を予めご了承下さい。
お気に入りに登録しますとお気に入り記事を一元管理でき、再度閲覧したい場合等 容易に記事を探し出す事ができますのでご活用下さい。
下段にはコメントを掲載しております。
広告バナー
コメント
頂いたコメントを下記に掲載しております。更に下部にはコメント投稿フォームを設けております。
注意事項を確認・了承した上、コメント投稿お願いいたします。
注意事項に該当するコメントにつきましては、事前告知なしに投稿したコメントの削除を行う場合があります。
予めご了承下さい。
- 記事内容と無関係なコメント
- 公序良俗に反するコメント
- 個人情報や法令違反を含むコメント
- その他、管理者が不適切と判断したコメント
現在 頂いているコメントはありません